Hi Gerald, That's not fully correct. ActiveMQ component gives you some deep configuration but 99% of the features can be achieved with camel-jms.
In Karaf, you can just create a ActiveMQ connection factory (using jms feature/commands), and use this connection factory directly with camel-jms. On my blog (blog.nanthrax.net), you have several examples how to use ActiveMQ with Camel JMS. If you need some details/helps, don't hesitate to ping me directly. Regards JB On 13/01/2020 07:01, Gerald Kallas - mailbox.org wrote: > Hi JB, > > tx for the comprehensive reply. > > Within the Camel documentation I read that the activemq component is > optimized for ActiveMQ. So what does that mean and where are the differences > between the activemq and the camel-jms component? What does the jms component > provide? > > Sent by my mobile device > - Gerald Kallas > >> Am 13.01.2020 um 06:00 schrieb Jean-Baptiste Onofré <j...@nanthrax.net>: >> >> Hi Gerald, >> >> Again camel-activemq is not require: you can directy use JMS. It's what >> I'm always doing. The ActiveMQ connection factory in Karaf (most of the >> time I have ActiveMQ broker standalone outside of the Karaf runtime) and >> using jms in my Camel routes. >> >> Anyway, the ActiveMQServiceFactory.updated means you have a refresh or a >> configuration change (in etc/activemq.xml). I'm suspecting hawtio to >> cause this. >> >> If you do feature:install -v you will see the refresh and the cause of >> the refresh. I will reproduce it to identify the root cause. >> >> Regards >> JB >> >>> On 12/01/2020 21:59, Gerald Kallas wrote: >>> Hi JB, >>> >>> feature:install camel >>> >>> instead of >>> >>> feature:install camel-blueprint >>> >>> did it finally without the jaxb exception. btw, I'm running Java 8. >>> >>> Nevertheless, the feature camel-activemq is required to use the activemq >>> component. This I did finally >>> >>> karaf@root()> feature:repo-add hawtio 2.8.0 >>> Adding feature url mvn:io.hawt/hawtio-karaf/2.8.0/xml/features >>> karaf@root()> feature:repo-add activemq 5.15.11 >>> Adding feature url >>> mvn:org.apache.activemq/activemq-karaf/5.15.11/xml/features >>> karaf@root()> feature:repo-add camel 3.0.0 >>> Adding feature url >>> mvn:org.apache.camel.karaf/apache-camel/3.0.0/xml/features >>> karaf@root()> feature:install webconsole hawtio activemq-broker-noweb camel >>> camel-activemq >>> >>> The error >>> >>> at >>> org.apache.activemq.osgi.ActiveMQServiceFactory.updated(ActiveMQServiceFactory.java:147) >>> ~[!/:5.15.11] >>> at >>> org.apache.felix.cm.impl.helper.ManagedServiceFactoryTracker.updated(ManagedServiceFactoryTracker.java:159) >>> ~[!/:?] >>> at >>> org.apache.felix.cm.impl.helper.ManagedServiceFactoryTracker.provideConfiguration(ManagedServiceFactoryTracker.java:93) >>> [!/:?] >>> at >>> org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceFactoryUpdate.provide(ConfigurationManager.java:1253) >>> [!/:?] >>> at >>> org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceFactoryUpdate.run(ConfigurationManager.java:1197) >>> [!/:?] >>> at org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:138) >>> [!/:?] >>> at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:105) >>> [!/:?] >>> at java.lang.Thread.run(Unknown Source) [?:1.8.0_201] >>> Caused by: javax.management.InstanceAlreadyExistsException: >>> org.apache.activemq:type=Broker,brokerName=amq-broker >>> >>> remains the same. Seems that there is a doubled activemq startup sequence >>> somewhere. The system runs but the error message may confuse the operating >>> people finally. >>> >>> Any further hints at this? >>> >>> Thanks >>> - Gerald >>> >>>> Jean-Baptiste Onofré <j...@nanthrax.net> hat am 12. Januar 2020 um 21:06 >>>> geschrieben: >>>> >>>> >>>> Hi, >>>> >>>> I guess you are using Java 11 ? That's JAXB version (it should work >>>> without change with JDK8). >>>> >>>> Do you use JAXB from JDK or from bundle ? >>>> >>>> Regards >>>> JB >>>> >>>> On 12/01/2020 19:06, Gerald Kallas wrote: >>>>> Tx JB. >>>>> >>>>> I did the same steps as you provided. Afterwards I created a simple route >>>>> as following .. >>>>> >>>>> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"> >>>>> >>>>> <!-- set JMS connection factory --> >>>>> <bean id="jmsConnectionFactory" >>>>> class="org.apache.activemq.ActiveMQConnectionFactory"> >>>>> <property name="brokerURL" value="tcp://localhost:61616" /> >>>>> <property name="userName" value="karaf" /> >>>>> <property name="password" value="karaf" /> >>>>> </bean> >>>>> >>>>> <camelContext id="activemq" >>>>> xmlns="http://camel.apache.org/schema/blueprint" streamCache="true"> >>>>> >>>>> <route id="activemq"> >>>>> <!-- trigger file for testing purposes --> >>>>> <from uri="file:E:/tmp/in?include=.*\.xml&moveFailed=error" /> >>>>> <to uri="activemq:queue:IN" /> >>>>> </route> >>>>> >>>>> </camelContext> >>>>> >>>>> </blueprint> >>>>> >>>>> While trying to deploy the route I'm getting >>>>> >>>>> java.lang.NoClassDefFoundError: com/sun/istack/FinalArrayList >>>>> at >>>>> com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:249) >>>>> ~[?:?] >>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>>> ~[?:1.8.0_201] >>>>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) >>>>> ~[?:1.8.0_201] >>>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) >>>>> ~[?:1.8.0_201] >>>>> at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_201] >>>>> at >>>>> javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:143) >>>>> ~[?:1.8.0_201] >>>>> at javax.xml.bind.ContextFinder.find(ContextFinder.java:310) >>>>> ~[?:1.8.0_201] >>>>> at javax.xml.bind.JAXBContext.newInstance(Unknown Source) >>>>> ~[?:1.8.0_201] >>>>> at javax.xml.bind.JAXBContext.newInstance(Unknown Source) >>>>> ~[?:1.8.0_201] >>>>> at >>>>> org.apache.camel.impl.DefaultModelJAXBContextFactory.newJAXBContext(DefaultModelJAXBContextFactory.java:38) >>>>> ~[?:?] >>>>> at >>>>> org.apache.camel.blueprint.handler.CamelNamespaceHandler.getJaxbContext(CamelNamespaceHandler.java:678) >>>>> ~[?:?] >>>>> ... >>>>> >>>>> Any idea about this? >>>>> >>>>> Best >>>>> - Gerald >>>>> >>>>>> Jean-Baptiste Onofré <j...@nanthrax.net> hat am 12. Januar 2020 um 16:22 >>>>>> geschrieben: >>>>>> >>>>>> >>>>>> Hi, >>>>>> >>>>>> First, you don't need camel-activemq feature, just camel-jms is enough. >>>>>> >>>>>> The activemq-broker-noweb feature seems to work fine, so you have >>>>>> probably a refresh. >>>>>> >>>>>> Here's what I did: >>>>>> >>>>>> feature:install webconsole >>>>>> feature:repo-add activemq 5.15.11 >>>>>> feature:repo-add camel 3.0.0 >>>>>> feature:install activemq-broker-noweb >>>>>> feature:install camel-blueprint >>>>>> feature:install camel-jms >>>>>> feature:install jms >>>>>> >>>>>> I don't have any issue so far (activemq:bstat is fine with an unique >>>>>> broker). >>>>>> >>>>>> Regards >>>>>> JB >>>>>> >>>>>> On 12/01/2020 15:57, Gerald Kallas wrote: >>>>>>> Dear community, >>>>>>> >>>>>>> I'm going to setup a vanilla karaf / activemq / camel3 installation >>>>>>> with the following commands >>>>>>> >>>>>>> karaf@root()> feature:repo-add hawtio 2.8.0 >>>>>>> Adding feature url mvn:io.hawt/hawtio-karaf/2.8.0/xml/features >>>>>>> karaf@root()> feature:repo-add activemq 5.15.11 >>>>>>> Adding feature url >>>>>>> mvn:org.apache.activemq/activemq-karaf/5.15.11/xml/features >>>>>>> karaf@root()> feature:repo-add camel 3.0.0 >>>>>>> Adding feature url >>>>>>> mvn:org.apache.camel.karaf/apache-camel/3.0.0/xml/features >>>>>>> karaf@root()> feature:install webconsole >>>>>>> karaf@root()> feature:install hawtio >>>>>>> karaf@root()> feature:install activemq-broker-noweb >>>>>>> karaf@root()> feature:install camel >>>>>>> karaf@root()> feature:install camel-jms >>>>>>> karaf@root()> feature:install camel-activemq >>>>>>> >>>>>>> The last command caused an error that comes on board again when >>>>>>> restarting karaf >>>>>>> >>>>>>> org.osgi.service.cm.ConfigurationException: null : Cannot start the >>>>>>> broker >>>>>>> at >>>>>>> org.apache.activemq.osgi.ActiveMQServiceFactory.updated(ActiveMQServiceFactory.java:147) >>>>>>> ~[!/:5.15.10] >>>>>>> at >>>>>>> org.apache.felix.cm.impl.helper.ManagedServiceFactoryTracker.updated(ManagedServiceFactoryTracker.java:159) >>>>>>> ~[!/:?] >>>>>>> at >>>>>>> org.apache.felix.cm.impl.helper.ManagedServiceFactoryTracker.provideConfiguration(ManagedServiceFactoryTracker.java:93) >>>>>>> [!/:?] >>>>>>> at >>>>>>> org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceFactoryUpdate.provide(ConfigurationManager.java:1253) >>>>>>> [!/:?] >>>>>>> at >>>>>>> org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceFactoryUpdate.run(ConfigurationManager.java:1197) >>>>>>> [!/:?] >>>>>>> at org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:138) >>>>>>> [!/:?] >>>>>>> at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:105) >>>>>>> [!/:?] >>>>>>> at java.lang.Thread.run(Unknown Source) [?:1.8.0_201] >>>>>>> Caused by: javax.management.InstanceAlreadyExistsException: >>>>>>> org.apache.activemq:type=Broker,brokerName=amq-broker >>>>>>> at com.sun.jmx.mbeanserver.Repository.addMBean(Unknown Source) >>>>>>> ~[?:1.8.0_201] >>>>>>> at >>>>>>> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerWithRepository(Unknown >>>>>>> Source) ~[?:1.8.0_201] >>>>>>> at >>>>>>> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(Unknown >>>>>>> Source) ~[?:1.8.0_201] >>>>>>> at >>>>>>> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(Unknown >>>>>>> Source) ~[?:1.8.0_201] >>>>>>> at >>>>>>> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(Unknown >>>>>>> Source) ~[?:1.8.0_201] >>>>>>> at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(Unknown Source) >>>>>>> ~[?:1.8.0_201] >>>>>>> at >>>>>>> org.apache.activemq.broker.jmx.ManagementContext.registerMBean(ManagementContext.java:409) >>>>>>> ~[!/:5.15.10] >>>>>>> at >>>>>>> org.apache.activemq.broker.jmx.AnnotatedMBean.registerMBean(AnnotatedMBean.java:93) >>>>>>> ~[!/:5.15.10] >>>>>>> at >>>>>>> org.apache.activemq.broker.BrokerService.startManagementContext(BrokerService.java:2627) >>>>>>> ~[!/:5.15.10] >>>>>>> at >>>>>>> org.apache.activemq.broker.BrokerService.start(BrokerService.java:621) >>>>>>> ~[!/:5.15.10] >>>>>>> at >>>>>>> org.apache.activemq.osgi.ActiveMQServiceFactory.updated(ActiveMQServiceFactory.java:141) >>>>>>> ~[!/:5.15.10] >>>>>>> ... 7 more >>>>>>> >>>>>>> I tried some other sequences, always the same. Seems that the broker >>>>>>> attempted to start twice. >>>>>>> >>>>>>> Any hints and suggestions are highly appreciated. >>>>>>> >>>>>>> Best >>>>>>> - Gerald >>>>>>> >>>>>> >>>>>> -- >>>>>> Jean-Baptiste Onofré >>>>>> jbono...@apache.org >>>>>> http://blog.nanthrax.net >>>>>> Talend - http://www.talend.com >>>> >>>> -- >>>> Jean-Baptiste Onofré >>>> jbono...@apache.org >>>> http://blog.nanthrax.net >>>> Talend - http://www.talend.com >> >> -- >> Jean-Baptiste Onofré >> jbono...@apache.org >> http://blog.nanthrax.net >> Talend - http://www.talend.com > -- Jean-Baptiste Onofré jbono...@apache.org http://blog.nanthrax.net Talend - http://www.talend.com