Apache Camel + RabbitMQ。端点没有创建

时间:2014-03-17 07:46:16

标签: java rabbitmq apache-camel

我创建的项目只包含rabbitmq的路由设置。

<route>
    <from uri="rabbitmq:localhost/test_out_ex?queue=test_out&amp;autoDelete=false&amp;username=admin&amp;password=admin"/>
    <to uri="rabbitmq:localhost/test_in_ex?queue=test_in&amp;autoDelete=false&amp;username=admin&amp;password=admin"/>
</route>

我在tomcat上运行它,Camel只创建“from”-endpoint,而不是“to”(我在RabbitMq web界面中查看)。为什么?因为,“到”还没有消费者?

更多详情:

问题是消息未保存在输出消息队列中。这是一种正常情况,当应用程序向队列发送消息时,此时消息没有在线消费者,所以它应该保存消息,直到消费者连接。

所以,我定义了简单路由并将其部署在tomcat上,我也部署了Jolokia项目来监控我的驼峰上下文通过Hawtio。 Hawtio告诉我,该路由是由两个端点组成的。然后我通过RabbitMq web-interface将消息发布到'test_out'。 Hawtio告诉我,它到达'test_in'队列,但在RabbitMq web-interface(或rabbitmqctl)中'test_in'队列不存在,所以在服务器重启后消息消失了。

1 个答案:

答案 0 :(得分:2)

我们需要过滤邮件标头,这可能会在从test_out路由到test_in时造成一些麻烦。

<route>
    <from uri="rabbitmq:localhost/test_out_ex?queue=test_out&amp;autoDelete=false&amp;username=admin&amp;password=admin"/>
    <removeHeader pattern="rabbitmq.*"/>
    <to uri="rabbitmq:localhost/test_in_ex?queue=test_in&amp;autoDelete=false&amp;username=admin&amp;password=admin"/>
</route>