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