gpt4 book ai didi

java - Spring RabbitMQ - 是一个没有交换的队列配置

转载 作者:行者123 更新时间:2023-11-29 05:40:28 24 4
gpt4 key购买 nike

这是我继承的项目中现有的 spring rabbit 配置 -

<rabbit:connection-factory id="rabbitConnectionFactory"
host="${rabbitmq.host}"
port="${rabbitmq.port}"
virtual-host="${rabbitmq.virtualHost}"
username="${rabbitmq.username}"
password="${rabbitmq.password}"/>

<rabbit:template id="ampqTemplate" connection-factory="rabbitConnectionFactory" routing-key="" />
<rabbit:admin connection-factory="rabbitConnectionFactory" />
<rabbit:queue name="${rabbitmq.queueName}" />

我没有使用 Rabbit 的经验,而且引用资料有限, 我知道交换器是设置中的一个重要部分,因为它在内部将消息中继到队列。

但是,上面的配置不包含任何交换信息。

我的问题是:

  1. 即使是简单的队列配置,交换器也绝对重要吗?
  2. 是否有不定义交换的含义
  3. 上述配置是否还有其他明显缺失的配置?

最佳答案

如果您没有定义交换器,将使用默认交换器。这是一个直接交换,它将使用队列的名称作为其路由键。

您的配置似乎没有遗漏任何内容。我的是:

<rabbit:connection-factory id="connectionFactory" host="${rabbit.host}" username="${rabbit.username}" password="${rabbit.password}" virtual-host="${rabbit.vhost}"/>
<rabbit:template id="rabbitTemplate" connection-factory="connectionFactory" message-converter="jsonMessageConverter" routing-key="event-queue"/>

您可以取出 rabbit:queue 定义并将队列名称用作 rabbit:template 的路由键。

关于java - Spring RabbitMQ - 是一个没有交换的队列配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17800159/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com