【发布时间】:2014-10-28 13:18:51
【问题描述】:
我有一个包含几条骆驼路线的 osgi 包。现在一切正常一段时间。过了一会儿,其中一条路线停止接收消息。消息被发送到队列,但路由不接收它。我可以看到待处理消息的数量在增加,并且队列中有一个消费者,但没有任何反应。重新启动捆绑包时,一切正常。任何想法为什么会发生这种情况?捆绑包中的其他路线工作正常,而有问题的路线则不行。
【问题讨论】:
-
是否有消息发送(dispatch cont)给消费者?或者,如果您可以通过 JMX 查看路线,请查看是否有任何“飞行中”消息。
-
停止工作的路由是否偶然进行了 HTTP 调用?
-
你检查日志看JMS连接是否断开?
-
无法通过 JMS 查看路由 - 出现网络问题。没有路由发送到 JMS 队列并在执行操作之前等待响应。 JMS 连接很好。队列有无限超时,因此当队列不返回任何内容时,线程会等待它并且不再处理任何消息。将超时更改为一分钟左右会起作用,因为它会超时。但不确定为什么超时异常没有从我发送消息的 Q 传播回调用者。
标签: osgi apache-camel activemq jbossfuse