我已经创建了项目,其中只包含rabbitmq的路由设置。
<route>
<from uri="rabbitmq:localhost/test_out_ex?queue=test_out&autoDelete=false&username=admin&password=admin"/>
<to uri="rabbitmq:localhost/test_in_ex?queue=test_in&autoDelete=false&username=admin&password=admin"/>
</route>我在tomcat上运行它,Camel只创建"from"-endpoint,而不是"to“(我在rabbitMq web界面中查找)。为什么?因为"to“还没有消费者吗?
更多详细信息:
问题是消息没有保存在输出消息队列中。这是正常情况,当应用程序向队列发送消息时,此时还没有让消费者在线,所以它应该保存消息,直到消费者连接。
因此,我定义了简单路由并将其部署到tomcat上,同时我还部署了Jolokia项目来通过Hawtio监控我的camel上下文。Hawtio向我展示了,该路由是创建的,由两个端点组成。然后,我通过RabbitMq web接口将消息发布到'test_out‘。Hawtio告诉我,它到达了'test_in‘队列,但在RabbitMq web界面(或rabbitmqctl)中,'test_in’队列不存在,所以在服务器重启后消息消失了。
发布于 2014-03-19 19:02:45
当从test_out路由到test_in时,我们需要过滤消息头,这可能会造成一些问题。
<route>
<from uri="rabbitmq:localhost/test_out_ex?queue=test_out&autoDelete=false&username=admin&password=admin"/>
<removeHeader pattern="rabbitmq.*"/>
<to uri="rabbitmq:localhost/test_in_ex?queue=test_in&autoDelete=false&username=admin&password=admin"/>
</route>https://stackoverflow.com/questions/22449086
复制相似问题