1

使用带有 AMQP 传输插件和 RabbitMQ 的 Mule 3.4,我试图向默认的 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 ] [交换名称] [交换名称,队列名称]。

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

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

然后我收到错误消息:

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

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

4

1 回答 1

1

要分派到默认交换,您需要在queueNamenot中传递队列名称routingKey

<amqp:outbound-endpoint exchangeName=""
                        queueName="my.queue"
                        connector-ref="amqpDefaultConnector" />
于 2013-06-03T17:30:29.510 回答