我有一条apache-camel JMS路线。
form("jms:queue:sourceQueue").to("messageProcessor")
我的要求是停止3个消息处理失败的路由。在messageProcessor类中,在catch块中我正在检查错误计数,一旦它达到3,我就开始了
camelContext.stopRoute(routeID, 3, TimeUnit.SECONDS);
我的路线不要停止,而且Spring的DefaultMessageListenerContainer会在日志中写下以下行
关闭JMS侦听器容器
等待关闭消息侦听器调用程序
仍在等待关闭 的1个邮件侦听器调用者
我想知道,阻止DMLC停止的是什么? 我失踪了什么骆驼属性?
如果我使用asyncStopListener=true
,则会停止路由停止,但线程会在后台等待停止侦听。
答案 0 :(得分:1)
你是否正在停止路线的路线?例如,如果你这样做 处理器,然后看这个FAQ http://camel.apache.org/how-can-i-stop-a-route-from-a-route.html