Cel*_*nHC 1 activemq-classic jms apache-camel
ActiveMQ 5.5.1
<c:route>
<c:from uri="jetty:http://0.0.0.0:8055/ws/despacho" />
<c:to uri="bean:despachoHandler" />
<c:to uri="activemq:queue:copom.out.test" pattern="InOut" />
</c:route>
Run Code Online (Sandbox Code Playgroud)
消息显示排队,但我无法使用它.一段时间后,我得到超时,消息转到ActiveMQ.DLQ.
org.apache.camel.ExchangeTimedOutException:未收到OUT消息:20000毫秒到期回复消息,其中relatedID:Camel-ID-SSP-SGPF-GITSAD-58215-1359134232568-0-3未收到.
如果我将其更改为pattern ="InOnly",我可以正常使用该消息.
这是怎么回事?
Cla*_*sen 11
你应该学习EIP模式.
使用InOut时,您正在执行请求 - 回复EIP模式 http://camel.apache.org/request-reply.html
在这种情况下,消息被发送到JMS队列,并且与InOut一样,然后期望回复消息被发送回JMSReply属性中定义的队列(如果没有,Camel将设置为临时队列名称)否则显式设置).
如果20秒后没有回复消息,Camel会因超时异常而失败.您可以配置超时的长度.
所以你必须决定你是在做一个请求回复EIP(InOut)还是一个事件消息(InOnly) http://camel.apache.org/event-message.html
| 归档时间: |
|
| 查看次数: |
5871 次 |
| 最近记录: |