今天,我试图模拟一个场景,在骆驼“to”标签中我提供了一个错误拼写的队列名称(不存在)Camel或RabbitMq而不是抛出异常,继续完成路线流程。 很有意思,我写了一个示例程序,使用带有错误队列名称的“channel.basicPublish”发送消息。我从来没有从兔子mq客户端抛出任何异常。
但是如果交换名称错误,我确实收到了异常。这是预期的行为吗? 我尝试添加返回侦听器,确认侦听器,异常处理程序等,但没有调用它们。 有线索吗?
答案 0 :(得分:1)
消息发布到交换,因此发布消息时交换必须在那里。在发布时,RabbitMQ并不关心队列,除非提供了mandatory
标志,或者频道处于确认模式。