Apache camel 为什么ActiveMQ 5.14.x可以';t开始嵌入驼峰jms组件2.18.3
下面是一个简单的spring引导项目(版本Apache camel 为什么ActiveMQ 5.14.x可以';t开始嵌入驼峰jms组件2.18.3,apache-camel,jms,activemq,Apache Camel,Jms,Activemq,下面是一个简单的spring引导项目(版本1.5.2)来演示该问题: 它有ApacheCamel版本2.18.3 在分支master上,由于activemq camel=5.14.4和camel jms=2.16.3(从中可传递地获取),所有操作都正常 Spring引导应用程序正常启动,日志为: 2017-04-22 00:53:19.647 INFO 97217 --- [ main] o.a.camel.spring.SpringCamelContext :
1.5.2
)来演示该问题:
它有ApacheCamel版本2.18.3
在分支master
上,由于activemq camel=5.14.4
和camel jms=2.16.3
(从中可传递地获取),所有操作都正常
Spring引导应用程序正常启动,日志为:
2017-04-22 00:53:19.647 INFO 97217 --- [ main] o.a.camel.spring.SpringCamelContext : Apache Camel 2.18.3 (CamelContext: camel-1) is starting
2017-04-22 00:53:19.662 INFO 97173 --- [ main] o.apache.activemq.broker.BrokerService : Apache ActiveMQ 5.14.4 (localhost, ID:lanwen-osx3.local-62145-1492811599544-0:1) is starting
2017-04-22 00:53:19.665 INFO 97173 --- [ main] o.apache.activemq.broker.BrokerService : Apache ActiveMQ 5.14.4 (localhost, ID:lanwen-osx3.local-62145-1492811599544-0:1) started
2017-04-22 00:53:19.665 INFO 97173 --- [ main] o.apache.activemq.broker.BrokerService : For help or more information please see: http://activemq.apache.org
2017-04-22 00:53:19.682 INFO 97173 --- [ main] o.a.activemq.broker.TransportConnector : Connector vm://localhost started
2017-04-22 00:53:19.702 INFO 97173 --- [ main] o.a.camel.spring.SpringCamelContext : Route: route1 started and consuming from: activemq://queue:to-write?asyncConsumer=true
2017-04-22 00:53:19.703 INFO 97173 --- [ main] o.a.camel.spring.SpringCamelContext : Total 1 routes, of which 1 are started.
2017-04-22 00:53:19.704 INFO 97173 --- [ main] o.a.camel.spring.SpringCamelContext : Apache Camel 2.18.3 (CamelContext: camel-1) started in 0.466 seconds
2017-04-22 00:53:19.709 INFO 97173 --- [ main] ru.yandex.test.writer.MyTestApplication : Started MyTestApplication in 2.437 seconds (JVM running for 2.911)
但是当您从camel jms=2.18.3开始时(作为camel的主版本,在分支上)
此日志出现问题:
2017-04-22 00:56:38.070 INFO 97195 --- [ main] o.a.camel.spring.SpringCamelContext : Apache Camel 2.18.3 (CamelContext: camel-1) is starting
...
2017-04-22 00:56:43.590 WARN 97195 --- [ActiveMQ Task-1] o.a.a.t.failover.FailoverTransport : Failed to connect to [tcp://localhost:61616] after: 10 attempt(s) continuing to retry.
但是如果我们使用cameljms=2.18.3
将activemqcamel
更改为5.13.4
,它又可以正常工作了
为什么ActiveMQ5.14.x不能与camel jms2.18.x一起工作?如果查看最新camel ActiveMQ
1.15.5
()的依赖项列表,您会发现它已经将camel jms
作为依赖项,但版本是1.16.3
。因此,您无需在POM中单独添加camel jms
1.18.x
依赖项,因为它将覆盖ActiveMQ已经使用的1.16.x
版本,该版本是兼容的
因此,本质上,问题是您正在尝试使用更新的、不兼容的camel jms
。单独添加1.18.x
camel jms
依赖项时,ActiveMQ组件将使用此版本,该版本与其1.16.x
版本不兼容,因此会出现错误
如果您需要使用ActiveMQ,那么您可能需要查看
camel jms
1.16.x
是否适合您 我有一个camel版本=2.18.0和activeMQ版本=5.14.1的项目,它运行良好。是否可以添加更多跟踪?是否尝试了示例项目。另外,请检查您的camel jms版本是否为2.16.xSure,我知道它具有此版本的依赖关系。但问题是,默认情况下,它不起作用,因为您只使用驼峰bom或/和弹簧引导bom。问题是,为什么它不能在这两个版本的组合中工作,而仍然可以在另一个版本中工作