Mule / AMQP / RabbitMQ:尝试发送到默认交换

时间:2013-06-03 12:35:03

标签: rabbitmq mule amqp

将Mule 3.4与AMQP Transport插件和RabbitMQ一起使用,我正在尝试向默认的AMQP交换发送消息。 exchangeName属性的文档说明“保留空白或省略默认交换”。但是如果我(a)省略它,就像这样:

<amqp:outbound-endpoint routingKey="my.queue" connector-ref="amqpDefaultConnector" />

然后我收到错误消息:

  

元素amqp:outbound-endpoint {connector-ref = amqpDefaultConnector,   name = .test:outbound-endpoint.17,routingKey = process.task.complete}   必须拥有其中一个集的所有属性:[address] [ref]   [queueName] [exchangeName] [exchangeName,queueName]。

这似乎表明省略该属性是无效的。但是,如果我(b)提供它,但留空,如下:

<amqp:outbound-endpoint exchangeName="" routingKey="my.queue" connector-ref="amqpDefaultConnector" />

然后我收到错误消息:

  

java.net.URISyntaxException:索引7处的预期权限:amqp://

我相信其余的配置和设置都是正确的,因为使用命名交换可以按预期工作。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

要调度到默认交换,您需要在queueName而不是routingKey中传递队列名称:

<amqp:outbound-endpoint exchangeName=""
                        queueName="my.queue"
                        connector-ref="amqpDefaultConnector" />
相关问题