java - Camel 航线需要很长时间才能优雅地关闭

标签 java activemq apache-camel

我正在将 30 个 Apache Camel v.2.10.3 路由直接部署到 ActiveMQ 中。 ActiveMQ 在几秒钟内启动,Camel 回复说它在大约 2 秒内启动了所有路由。

没有外部系统连接到 ActiveMQ,也没有任何消息通过 Camel 传输。然后我等待几秒钟并按“Ctrl-C”(在 Windows 上)终止 ActiveMQ。然后 Camel 开始正常关闭程序...

我的问题是 ActiveMQ 无法在 300 秒内关闭所有路由。无论我做什么,它都会继续报告关闭 Camel 需要 375 秒。

我尝试过设置路由的启动顺序,但似乎没有任何效果。

我之前在 ServiceMix 上部署过相同的路由,没有出现任何问题。

有什么想法吗?

最佳答案

我明白了。

我已将我的代理重命名为“localhost”以外的名称,但要求 Camel 连接到 vm://localhost。这导致了以下结果:http://fusesource.com/kbs/show/?id=193592-warn-brokerregistry-broker-localhost-not-started-so-using-other_broker_name-instead .

当我要求 Camel 连接到 vm://mybroker 时,它按预期工作。

关于java - Camel 航线需要很长时间才能优雅地关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15619063/

相关文章:

spring - 如何确保 Camel 的 ProducerTemplate 等待 CamelContext 启动

java - Pentaho 7 CE Report Designer 超链接BUG

java - 尝试写入新文件时出现 FileNotFoundException(访问被拒绝)

java - ActiveMQ:保证将消息传递给消费者

java - Apache-Camel 控制台输入

java - 我是否正确使用 Apache Camel 聚合器?

java - 如何配置 akka 生产者协商 TLS v1.2

java - android中如何从字符串中获取资源

java - 金融信息交换网络平台 (QuickFix/J)

java - 有没有办法在没有选择器的情况下在 JMS 中实现多对多关系?