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>
>

Reply via email to