2017-04-21 16 views
14

यहाँ सरल वसंत बूट परियोजना (संस्करण 1.5.2) समस्या प्रदर्शित करने के लिए है:क्यों ActiveMQ 5.14.x ऊंट-jms घटक के साथ एम्बेडेड प्रारंभ नहीं कर सकता 2.18.3

https://github.com/lanwen/camel-jms-activemq-test

यह अपाचे है कैमल संस्करण 2.18.3

शाखा master पर सब ठीक काम करता है क्योंकि activemq-camel=5.14.4 और camel-jms=2.16.3 की (इसे से संक्रामक हो जाता है)

स्प्रिंग बूट आवेदन लॉग के साथ सामान्य रूप से शुरू होता है:

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) 

लेकिन जब आप (, ऊंट के मुख्य संस्करण के रूप में शाखा पर not_working) camel-jms=2.18.3 के साथ शुरू

हालात यह लॉग के साथ गलत:

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. 

लेकिन अगर हम activemq-camel5.13.4camel-jms=2.18.3 के साथ बदलते हैं तो यह ठीक काम करता है ...

क्यों ActiveMQ 5.14.x ऊंट-जेएमएस 2.18.x के साथ काम नहीं करता है?

+0

मेरे पास ऊंट-संस्करण = 2.18.0 और सक्रिय एमक्यू-संस्करण = 5.14.1 के साथ एक प्रोजेक्ट है और यह ठीक काम कर रहा है। कुछ और निशान जोड़ सकते हैं? –

+0

क्या आपने उदाहरण प्रोजेक्ट का प्रयास किया था? https://github.com/lanwen/camel-jms-activemq-test। कृपया यह भी जांचें कि आपका ऊंट-जेएमएस संस्करण 2.16.x – lanwen

उत्तर

2

आप नवीनतम कैमल ActiveMQ 1.15.5 (https://mvnrepository.com/artifact/org.apache.activemq/activemq-camel/5.14.5) के लिए निर्भरता सूची को देखें, तो आप यह पहले से ही camel-jms एक निर्भरता के रूप में है कि देखेंगे, लेकिन संस्करण 1.16.3 है। इसलिए आपके पीओएम में camel-jms1.18.x निर्भरता को अलग से जोड़ने की आवश्यकता नहीं है, क्योंकि यह 1.16.x संस्करण को ओवरराइट करेगा जो ActiveMQ पहले से उपयोग करता है, जो संगत है।

तो अनिवार्य रूप से, मुद्दा यह है कि आप camel-jms के एक नए, असंगत संस्करण का उपयोग करने का प्रयास कर रहे हैं। जब आप अलग-अलग 1.18.xcamel-jms निर्भरता जोड़ते हैं, तो ActiveMQ componenet इस संस्करण का उपयोग करेगा, जो इसके 1.16.x संस्करण, और इसलिए त्रुटि के साथ संगत नहीं है।

यदि आपको ActiveMQ का उपयोग करने की आवश्यकता है, तो आपको शायद यह देखना होगा कि camel-jms1.16.x आपके लिए काम करेगा या नहीं।

+0

नहीं है, निश्चित रूप से, मुझे पता है कि इसमें निर्भरता का यह संस्करण है। लेकिन समस्या यह है कि यह आपके द्वारा डिफ़ॉल्ट रूप से काम नहीं करता है, बस ऊंट बम, या/और वसंत-बूट बम का उपयोग करता है। और सवाल यह है कि यह वास्तव में संस्करणों के इस संयोजन में काम नहीं करता है और फिर भी दूसरे के साथ काम करता है – lanwen

संबंधित मुद्दे