2013-07-23 51 views
1

下面是從我繼承了項目現有的春兔配置 -春天的RabbitMQ - 是沒有交往可能隊列配置

<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}" /> 

我不使用兔子和經驗有我有限的參考, 我知道交換是設置中的一個重要部分,因爲它將消息中繼到隊列中。

但是,上述配置不包含任何交換信息。

我的問題是:

  1. 是一種交換,甚至一個簡單的隊列配置絕對重要的。?
  2. 是否有任何暗示不定義交換
  3. 是否有任何其他配置顯然從上述配置中丟失?

回答

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路由關鍵。

相關問題