Hi, I checked that in Activemq 5.9.1 the activemq-web-console bundle won't export org.apache.activemq.camel.component package, so we should be OK after upgrade to Activemq 5.9.1 ------------- Freeman(Yue) Fang
Red Hat, Inc. FuseSource is now part of Red Hat On 2014-5-15, at 下午9:46, John Smith wrote: > OK, I don't really understand why this should be but I had added > activemq-web-console as a "featuresBoot" to org.apache.karaf.features.cfg > > I have now removed it from there and I install activemq-web-console > manually once the server is up. > > This seems to solve the problem. Both the activemq-camel and > activemq-web-console bundles are still exporting > org.apache.activemq.camel.component but it doesn't fail in the > configuration of the ActiveMQ component in blueprint if I do it this way. > > I would be interested to hear an explanation as to why this happens if > anyone has any ideas? > > thanks, > John. > > > On Thu, May 15, 2014 at 1:06 PM, John Smith <[email protected]>wrote: > >> OK , after more testing, the problem can be fixed by uninstalling the >> activemq-web-console feature >> >> This would be problematic for me since , of course, the web console is >> very useful. >> >> Can anyone suggest what might be going on here ? >> >> Both activemq-camel and activemq-web-console are showing as version 5.7.0 >> >> >> On Thu, May 15, 2014 at 9:40 AM, John Smith <[email protected]>wrote: >> >>> Thanks for the reply Gert, >>> >>> The server that I receive the error on returns the list below, and the >>> working server list is below that. Apart from the strange escape characters >>> in the second list the bundles and versions seem to be the same. >>> >>> One thing I notice is that: >>> exports org.apache.activemq.camel.component >>> >>> returns the activemq-camel and activemq-web-console bundles although this >>> is on both the working and non-working servers. >>> >>> Is there any way to log the bundles class loaders to see what might be >>> getting loaded twice? >>> >>> >>> >>> >>> Server where I see the error: >>> >>> [ 133] [Active ] [ ] [ ] [ 30] Spring JMS >>> (3.0.7.RELEASE) >>> [ 135] [Active ] [ ] [ ] [ 50] camel-jms (2.10.7) >>> [ 163] [Active ] [ ] [ ] [ 40] Apache CXF Runtime >>> JMS Transport (2.6.9) >>> [ 61] [Active ] [ ] [ ] [ 50] activemq-console >>> (5.7.0) >>> [ 62] [Active ] [ ] [ ] [ 50] activemq-ra (5.7.0) >>> [ 63] [Active ] [Created ] [ ] [ 50] activemq-core >>> (5.7.0) >>> [ 64] [Active ] [Created ] [ ] [ 50] activemq-karaf >>> (5.7.0) >>> [ 68] [Resolved ] [ ] [ ] [ 50] activemq-blueprint >>> (5.7.0) >>> [ 69] [Active ] [Created ] [ ] [ 50] activemq-broker.xml >>> (0.0.0) >>> [ 99] [Active ] [ ] [ ] [ 50] >>> activemq-web-console (5.7.0) >>> [ 115] [Active ] [ ] [ ] [ 50] activemq-spring >>> (5.7.0) >>> [ 136] [Active ] [ ] [ ] [ 50] activemq-camel >>> (5.7.0) >>> >>> Working Server: >>> >>> [ 104] [Active ] [ ] [ ] [ 30] Spring [43;30mJMS >>> [m [m (3.0.7.RELEASE) [m >>> [ 106] [Active ] [ ] [ ] [ 50] camel- [43;30mjms >>> [m [m (2.10.7) [m >>> [ 156] [Active ] [ ] [ ] [ 40] Apache CXF Runtime >>> [43;30mJMS [m [m Transport (2.6.9) [m >>> [m[ 61] [Active ] [ ] [ ] [ 50] [43;30mactivemq >>> [m [m-console (5.7.0) [m >>> [ 62] [Active ] [ ] [ ] [ 50] [43;30mactivemq [m >>> [m-ra (5.7.0) [m >>> [ 63] [Active ] [Created ] [ ] [ 50] [43;30mactivemq [m >>> [m-core (5.7.0) [m >>> [ 64] [Active ] [Created ] [ ] [ 50] [43;30mactivemq [m >>> [m-karaf (5.7.0) [m >>> [ 68] [Resolved ] [ ] [ ] [ 50] [43;30mactivemq [m >>> [m-blueprint (5.7.0) [m >>> [ 85] [Active ] [ ] [ ] [ 50] [43;30mactivemq [m >>> [m-spring (5.7.0) [m >>> [ 107] [Active ] [ ] [ ] [ 50] [43;30mactivemq [m >>> [m-camel (5.7.0) [m >>> [ 194] [Active ] [ ] [ ] [ 50] [43;30mactivemq [m >>> [m-web-console (5.7.0) [m >>> [ 280] [Active ] [Created ] [ ] [ 50] [43;30mactivemq [m >>> [m-broker.xml (0.0.0) [m >>> [m >>> >>> >>> On Wed, May 14, 2014 at 8:53 PM, Gert Vanthienen < >>> [email protected]> wrote: >>> >>>> Hi John, >>>> >>>> >>>> That usually happens if you have multiple versions of the same bundle >>>> installed in the container. Every bundle has its own classloader, so >>>> you end up with multiple definitions for the same class. Could you >>>> check for multiple versions of the camel-jms bundle as well as the >>>> activemq bundles in your container? Something like "osgi:list -t 0 | >>>> grep -i jms" and "osgi:list -t 0 | grep -i activemq" should do the >>>> trick. >>>> >>>> >>>> Regards, >>>> >>>> Gert Vanthienen >>>> >>>> >>>> On Wed, May 14, 2014 at 5:02 PM, jszjsmith <[email protected]> >>>> wrote: >>>>> Hello All, >>>>> >>>>> I have a bundle A that exports a javax.jms.connectionFactory service >>>>> >>>>> Bundle B uses this service in blueprint to configure a JmsConfiguration >>>>> which in turn configures an ActiveMQComponent as shown below: >>>>> >>>>> <reference id="pcf" interface="javax.jms.ConnectionFactory" >>>>> filter="(osgi.jndi.service.name=activemq/MyConnectPool)"/> >>>>> >>>>> <bean id="jmsConfig" >>>>> class="org.apache.camel.component.jms.JmsConfiguration"> >>>>> <property name="connectionFactory" ref="pcf"/> >>>>> <property name="concurrentConsumers" value="10"/> >>>>> </bean> >>>>> >>>>> <bean id="activemq" >>>>> class="org.apache.activemq.camel.component.ActiveMQComponent"> >>>>> <property name="configuration" ref="jmsConfig"/> >>>>> </bean> >>>>> >>>>> However, when I pass the JmsConfiguration to the ActiveMQComponent I >>>> get the >>>>> exception: >>>>> >>>>> "Unable to convert value >>>>> org.apache.camel.component.jms.JmsConfiguration@258cd73e to type >>>>> org.apache.camel.component.jms.JmsConfiguration" >>>>> >>>>> Now this is using ServiceMix 4.5.3; I have this working without this >>>> error >>>>> in another 4.5.3 environment; can anyone suggest why this is happening >>>> ? >>>>> >>>>> Many thanks, >>>>> John. >>>>> >>>>> >>>>> 15:03:43,528 | ERROR | rint Extender: 3 | BlueprintContainerImpl >>>> | >>>>> 10 - org.apache.aries.blueprint - 0.3.2 | Unable to start blueprint >>>>> container for bundle test-ws >>>>> org.osgi.service.blueprint.container.ComponentDefinitionException: >>>> Error >>>>> setting property: PropertyDescriptor <name: configuration, getter: >>>> class >>>>> org.apache.camel.component.jms.JmsComponent.getConfiguration(, setter: >>>>> [class >>>>> >>>> org.apache.activemq.camel.component.ActiveMQComponent.setConfiguration(class >>>>> org.apache.camel.component.jms.JmsConfiguration] >>>>> at >>>>> >>>> org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:821)[10:org.apache.aries.blueprint:0.3.2] >>>>> at >>>>> >>>> org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:787)[10:org.apache.aries.blueprint:0.3.2] >>>>> at >>>>> >>>> org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:768)[10:org.apache.aries.blueprint:0.3.2] >>>>> at >>>>> >>>> org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:722)[10:org.apache.aries.blueprint:0.3.2] >>>>> at >>>>> >>>> org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:64)[10:org.apache.aries.blueprint:0.3.2] >>>>> at >>>>> >>>> org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:219)[10:org.apache.aries.blueprint:0.3.2] >>>>> at >>>>> >>>> org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:147)[10:org.apache.aries.blueprint:0.3.2] >>>>> at >>>>> >>>> org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:631)[10:org.apache.aries.blueprint:0.3.2] >>>>> at >>>>> >>>> org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:337)[10:org.apache.aries.blueprint:0.3.2] >>>>> at >>>>> >>>> org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:230)[10:org.apache.aries.blueprint:0.3.2] >>>>> at >>>>> >>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)[:1.7.0_55] >>>>> at >>>> java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_55] >>>>> at >>>>> >>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)[:1.7.0_55] >>>>> at >>>>> >>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)[:1.7.0_55] >>>>> at >>>>> >>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[:1.7.0_55] >>>>> at >>>>> >>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[:1.7.0_55] >>>>> at java.lang.Thread.run(Thread.java:745)[:1.7.0_55] >>>>> Caused by: java.lang.Exception: Unable to convert value >>>>> org.apache.camel.component.jms.JmsConfiguration@258cd73e to type >>>>> org.apache.camel.component.jms.JmsConfiguration >>>>> at >>>>> >>>> org.apache.aries.blueprint.container.AggregateConverter.convert(AggregateConverter.java:172)[10:org.apache.aries.blueprint:0.3.2] >>>>> at >>>>> >>>> org.apache.aries.blueprint.container.BlueprintRepository.convert(BlueprintRepository.java:373)[10:org.apache.aries.blueprint:0.3.2] >>>>> at >>>>> >>>> org.apache.aries.blueprint.utils.ReflectionUtils$PropertyDescriptor.convert(ReflectionUtils.java:322)[10:org.apache.aries.blueprint:0.3.2] >>>>> at >>>>> >>>> org.apache.aries.blueprint.utils.ReflectionUtils$MethodPropertyDescriptor.internalSet(ReflectionUtils.java:555)[10:org.apache.aries.blueprint:0.3.2] >>>>> at >>>>> >>>> org.apache.aries.blueprint.utils.ReflectionUtils$PropertyDescriptor.set(ReflectionUtils.java:306)[10:org.apache.aries.blueprint:0.3.2] >>>>> at >>>>> >>>> org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:819)[10:org.apache.aries.blueprint:0.3.2] >>>>> ... 16 more >>>>> >>>>> >>>>> >>>>> -- >>>>> View this message in context: >>>> http://servicemix.396122.n5.nabble.com/Unable-to-convert-value-from-passed-Service-object-tp5720268.html >>>>> Sent from the ServiceMix - User mailing list archive at Nabble.com. >>>> >>> >>> >>
