与AMQP消费者的Camel路线在Eclipse中运行正常,挂在karaf中

时间:2016-10-09 04:12:29

标签: java apache-camel amqp apache-karaf karaf

我使用的是Camel 2.17.3和karaf 4.0.7(也尝试过4.0.1)。

我有一个Camel路由在junit测试启动时在Eclipse中运行良好,但在部署到karaf时挂起。如果我改变了amqp:'来自'组件到计时器:路线在卡拉夫中运行良好。

我在路由器中的AMQP设置是:

   @Override
    public void configure() throws Exception {

        getContext().addComponent("amqp", AMQPComponent.amqpComponent(String.format("amqp://%s:%s?amqp.saslMechanisms=ANONYMOUS", AMQP_SERVICE_HOST, AMQP_SERVICE_PORT)));

即使这条路线也会挂起karaf,并且在Eclipse中运行良好:

 from("amqp:queue:myqueue").routeId("myRoute")
 .log("temp")

在卡拉夫,当我说"挂"时,我会观察这些事情:

  • 如果我试图退出karaf,它会挂起 - 我需要杀死这个过程。
  • 如果我试图阻止捆绑,karaf挂起 - 我需要杀死这个过程。
  • 既不是camel:context-list也不是camel:route-list返回任何内容
  • 我没有得到......"路线消耗..."日志中的消息。这是所有的了 启动捆绑包的输出:
  

2016-10-08 23:46:00,593 |信息| nsole用户karaf |捆绑
  | 90 - org.apache.aries.spifly.dynamic.bundle - 1.0.1 |束   考虑到SPI提供商:误路线2016-10-08 23:46:00,593 |   信息| nsole用户karaf |捆绑| 90 -   org.apache.aries.spifly.dynamic.bundle - 1.0.1 |没有' SPI-Provider'   清单头。跳过捆绑:误路线2016-10-08 23:46:05,595 |   信息| ool-130-thread-1 | OsgiDefaultCamelContext | 56 -   org.apache.camel.camel-core - 2.17.3 | Apache Camel 2.17.3   (CamelContext:mis-routes)正在开始2016-10-08 23:46:05,599 |信息   | ool-130-thread-1 | OsgiDefaultCamelContext | 56 -   org.apache.camel.camel-core - 2.17.3 | MDC日志记录已启用   CamelContext:mis-routes 2016-10-08 23:46:05,601 |信息|   ool-130-thread-1 | ManagedManagementStrategy | 56 -   org.apache.camel.camel-core - 2.17.3 | JMX已启用2016-10-08   23:46:05,708 |信息| ool-130-thread-1 |   DefaultRuntimeEndpointRegistry | 56 - org.apache.camel.camel-core -   2.17.3 |运行时端点注册表处于扩展模式,收集所有传入和传出端点的使用情况统计信息(缓存限制:1000)   2016-10-08 23:46:05,804 |信息| ool-130-thread-1 |   OsgiDefaultCamelContext | 56 - org.apache.camel.camel-core -   2.17.3 | AllowUseOriginalMessage已启用。如果不需要访问原始邮件,则建议关闭此选项   它可以提高性能。 2016-10-08 23:46:05,805 |信息|   ool-130-thread-1 | OsgiDefaultCamelContext | 56 -   org.apache.camel.camel-core - 2.17.3 | StreamCaching未使用。如果   使用流然后建议启用流缓存。看更多   详情请见http://camel.apache.org/stream-caching.html

非常感谢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:1)

原因应该与Camel JIRA中的这个问题有关:https://issues.apache.org/jira/browse/CAMEL-10278

主要问题是质子-j 0.10与qpid-jms-client版本0.8不兼容。我们将依赖关系升级到了proton-j 0.12.0,修复程序将在Camel 2.17.4版本中提供。

目前您可以使用Camel 2.17.4-SNAPSHOT或升级Camel-Amqp Karaf功能中的依赖项。