【发布时间】:2016-01-26 00:42:23
【问题描述】:
我在 apache camel 中定义了路由,它读取队列,然后将请求发送到soap web 服务,然后传递到rabbit mq 上的响应队列,问题是这条路由变成了从rabbitmq 队列到soap web 的无限路由服务,即使它只包含一条消息。 以下是代码,
<route >
<from uri="rabbitmq://localhost/exchangename?username=user&password=password;autoDelete=false&routingKey=key;queue=nameofqueue" />
<convertBodyTo type="java.lang.String" />
<to uri="cxf:bean:helloWorldEndpoint?defaultOperationName=sayHelloWorld" />
<to uri="rabbitmq://localhost/response exchange?username=name&password=passwd&routingKey=responsekey&autoDelete=false&queue=nameofresponsequeue" />
</route>
我做错了什么?
编辑:所以我尝试将最后一个“to”转换为“file”组件,它可以正常工作,没有任何问题。所以它与 RabbitMq 有关。在这条路线之前,我还有另一条路线如下:
<route id="differentRoute">
<from uri="file:C:\\file" />
<to uri="rabbitmq://localhost/exchangename?username=user&password=password;autoDelete=false&routingKey=key;queue=nameofqueue" />
</route>
所以我正在从文件中读取,在第一条路由中发送到请求队列,然后在第二条路由中从请求队列中读取,发送soap请求,然后将响应放入响应队列中。
【问题讨论】:
标签: java spring soap apache-camel rabbitmq