Hi, First, I would recommend using the camel-jms component. Remember that activemq-camel is not deprecated, and camel-activemq doesn't bring much compared to camel-jms.
Back on your point, you have to provide the destination type on the URI (queue or topic). So the activemq endpoint URI should look like activemq:queue:foo where foo is the name of the queue. Regards JB On Thu, May 5, 2022 at 9:56 AM Steuer Heribert <[email protected]> wrote: > > Hello, > > we are currently trying to upgrade a couple of old Apache Servicemix > installations which came pre-bundled with Karaf, ActiveMQ, Camel and > Blueprint support. As it seems that Servicemix is no > longer maintained, I would like to set up a similar instance with Karaf and > the appropriate bundles. > > Setup: Karaf 4.3.7 running on openjdk version "17.0.1" 2021-10-19 > > On a freshly unpacked Karaf instance, I execute the following commands: > > feature:repo-add activemq 5.16.4 > feature:repo-add camel 3.16.0 > feature:repo-refresh > > feature:install activemq-broker > feature:install camel-jms > feature:install camel-blueprint > > > Running a simple blueprint route (route attached below) that reads from a > queue and writes to another queue fails with: > > 2022-05-05T09:41:46,026 | ERROR | Blueprint Event Dispatcher: 1 | > BlueprintCamelContext | 213 - > org.apache.camel.karaf.camel-blueprint - 3.16.0 | Error occurred during > starting CamelContext: camel-1 > org.apache.camel.FailedToCreateRouteException: Failed to create route test: > Route(test)[From[activemq://in] -> [Log[PROCESSED MESSAGE],... because of > Failed to resolve endpoint: activemq://in due to: > java.lang.IllegalArgumentException: wrong number of arguments > > I found some issues on the web related to that exception but all points refer > to packages that I do not use (activemq-camel). I have attached the full > stack trace below for completeness. I am pretty sure that this just > happens because of lack of knowledge, but I did not find a path out of that > problem. So hopefully one of you can point me to the right direction. > > Cheers, > Heri > > > org.apache.camel.FailedToCreateRouteException: Failed to create route test: > Route(test)[From[activemq://in] -> [Log[PROCESSED MESSAGE],... because of > Failed to resolve endpoint: activemq://in due to: > java.lang.IllegalArgumentException: wrong number of arguments > at org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:80) > ~[!/:3.16.0] > at > org.apache.camel.impl.DefaultModelReifierFactory.createRoute(DefaultModelReifierFactory.java:49) > ~[!/:3.16.0] > at > org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:887) > ~[!/:3.16.0] > at > org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:775) > ~[!/:3.16.0] > at > org.apache.camel.impl.engine.AbstractCamelContext.doInit(AbstractCamelContext.java:2937) > ~[!/:3.16.0] > at org.apache.camel.support.service.BaseService.init(BaseService.java:83) > ~[!/:3.16.0] > at > org.apache.camel.impl.engine.AbstractCamelContext.init(AbstractCamelContext.java:2620) > ~[!/:3.16.0] > at org.apache.camel.support.service.BaseService.start(BaseService.java:111) > ~[!/:3.16.0] > at > org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2639) > ~[!/:3.16.0] > at > org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:255) > ~[!/:3.16.0] > at > org.apache.camel.blueprint.BlueprintCamelContext.start(BlueprintCamelContext.java:241) > ~[!/:3.16.0] > at > org.apache.camel.blueprint.BlueprintCamelContext.maybeStart(BlueprintCamelContext.java:283) > ~[!/:3.16.0] > at > org.apache.camel.blueprint.BlueprintCamelContext.blueprintEvent(BlueprintCamelContext.java:188) > [!/:3.16.0] > at > org.apache.aries.blueprint.container.BlueprintEventDispatcher$3.call(BlueprintEventDispatcher.java:197) > [!/:1.10.3] > at > org.apache.aries.blueprint.container.BlueprintEventDispatcher$3.call(BlueprintEventDispatcher.java:195) > [!/:1.10.3] > at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?] > at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) > [?:?] > at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?] > at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) > [?:?] > at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?] > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) > [?:?] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) > [?:?] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) > [?:?] > at java.lang.Thread.run(Thread.java:833) [?:?] > Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to resolve > endpoint: activemq://in due to: java.lang.IllegalArgumentException: wrong > number of arguments > at > org.apache.camel.impl.engine.AbstractCamelContext.doGetEndpoint(AbstractCamelContext.java:982) > ~[!/:3.16.0] > at > org.apache.camel.impl.engine.AbstractCamelContext.getEndpoint(AbstractCamelContext.java:864) > ~[!/:3.16.0] > at > org.apache.camel.support.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:58) > ~[!/:3.16.0] > at > org.apache.camel.reifier.AbstractReifier.resolveEndpoint(AbstractReifier.java:191) > ~[!/:3.16.0] > at org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:94) > ~[!/:3.16.0] > at org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:74) > ~[!/:3.16.0] > ... 23 more > Caused by: java.lang.RuntimeException: java.lang.IllegalArgumentException: > wrong number of arguments > at > org.apache.camel.util.IntrospectionSupport.extractProperties(IntrospectionSupport.java:41) > ~[!/:3.16.0] > at > org.apache.activemq.camel.component.ActiveMQComponent.convertPathToActualDestination(ActiveMQComponent.java:161) > ~[?:?] > at > org.apache.camel.component.jms.JmsComponent.createEndpoint(JmsComponent.java:1118) > ~[?:?] > at > org.apache.camel.support.DefaultComponent.createEndpoint(DefaultComponent.java:171) > ~[!/:3.16.0] > at > org.apache.camel.impl.engine.AbstractCamelContext.doGetEndpoint(AbstractCamelContext.java:948) > ~[!/:3.16.0] > at > org.apache.camel.impl.engine.AbstractCamelContext.getEndpoint(AbstractCamelContext.java:864) > ~[!/:3.16.0] > at > org.apache.camel.support.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:58) > ~[!/:3.16.0] > at > org.apache.camel.reifier.AbstractReifier.resolveEndpoint(AbstractReifier.java:191) > ~[!/:3.16.0] > at org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:94) > ~[!/:3.16.0] > at org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:74) > ~[!/:3.16.0] > ... 23 more > Caused by: java.lang.IllegalArgumentException: wrong number of arguments > at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] > at > jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) > ~[?:?] > at > jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[?:?] > at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] > at > org.apache.camel.util.IntrospectionSupport.extractProperties(IntrospectionSupport.java:39) > ~[!/:3.16.0] > at > org.apache.activemq.camel.component.ActiveMQComponent.convertPathToActualDestination(ActiveMQComponent.java:161) > ~[?:?] > at > org.apache.camel.component.jms.JmsComponent.createEndpoint(JmsComponent.java:1118) > ~[?:?] > at > org.apache.camel.support.DefaultComponent.createEndpoint(DefaultComponent.java:171) > ~[!/:3.16.0] > at > org.apache.camel.impl.engine.AbstractCamelContext.doGetEndpoint(AbstractCamelContext.java:948) > ~[!/:3.16.0] > at > org.apache.camel.impl.engine.AbstractCamelContext.getEndpoint(AbstractCamelContext.java:864) > ~[!/:3.16.0] > at > org.apache.camel.support.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:58) > ~[!/:3.16.0] > at > org.apache.camel.reifier.AbstractReifier.resolveEndpoint(AbstractReifier.java:191) > ~[!/:3.16.0] > at org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:94) > ~[!/:3.16.0] > at org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:74) > ~[!/:3.16.0] > ... 23 more > > > > > Sample route: > > <?xml version="1.0" encoding="UTF-8"?> > <blueprint > xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" > xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0"> > > <camelContext xmlns="http://camel.apache.org/schema/blueprint"> > <route id="test"> > <from uri="activemq://in"/> > <log message="PROCESSED MESSAGE"/> > <to uri="activemq://out"/> > </route> > </camelContext> > > </blueprint> >
