You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by jszjsmith <js...@googlemail.com> on 2014/05/14 17:02:01 UTC

Unable to convert value from passed Service object

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.

Re: Unable to convert value from passed Service object

Posted by "ggadde@fhlbi.com" <gg...@fhlbi.com>.
I am trying to use pooledconnection factory and I am getting the following
error. The same bundle is working in another servicemix server but not in
this server. Can you please help me.

2016-09-13 11:55:49,245 | ERROR | FelixStartLevel  | BlueprintContainerImpl          
| 18 - org.apache.aries.blueprint.core - 1.4.2 |                                                    
|                                                    |  Unable to start
blueprint container for bundle ofin-services
org.osgi.service.blueprint.container.ComponentDefinitionException: Error
setting property: PropertyDescriptor <name: connectionFactory, getter: class
org.apache.camel.component.jms.JmsConfiguration.getConnectionFactory(),
setter: [class
org.apache.camel.component.jms.JmsConfiguration.setConnectionFactory(interface
javax.jms.ConnectionFactory)]
        at
org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:941)[18:org.apache.aries.blueprint.core:1.4.2]
        at
org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:907)[18:org.apache.aries.blueprint.core:1.4.2]
        at
org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:888)[18:org.apache.aries.blueprint.core:1.4.2]
        at
org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:820)[18:org.apache.aries.blueprint.core:1.4.2]
        at
org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:787)[18:org.apache.aries.blueprint.core:1.4.2]
        at
org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)[18:org.apache.aries.blueprint.core:1.4.2]
        at
java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_111]
        at
org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[18:org.apache.aries.blueprint.core:1.4.2]
        at
org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:245)[18:org.apache.aries.blueprint.core:1.4.2]
        at
org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:183)[18:org.apache.aries.blueprint.core:1.4.2]
        at
org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:682)[18:org.apache.aries.blueprint.core:1.4.2]
        at
org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:377)[18:org.apache.aries.blueprint.core:1.4.2]
        at
org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:269)[18:org.apache.aries.blueprint.core:1.4.2]
        at
org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:294)[18:org.apache.aries.blueprint.core:1.4.2]
        at
org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:263)[18:org.apache.aries.blueprint.core:1.4.2]
        at
org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:253)[18:org.apache.aries.blueprint.core:1.4.2]
        at
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)[13:org.apache.aries.util:1.1.0]
        at
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)[13:org.apache.aries.util:1.1.0]
        at
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)[13:org.apache.aries.util:1.1.0]
        at
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)[13:org.apache.aries.util:1.1.0]
        at
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)[13:org.apache.aries.util:1.1.0]
        at
org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1127)[org.apache.felix.framework-4.4.1.jar:]
        at
org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:696)[org.apache.felix.framework-4.4.1.jar:]
        at
org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:484)[org.apache.felix.framework-4.4.1.jar:]
        at
org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4429)[org.apache.felix.framework-4.4.1.jar:]
        at
org.apache.felix.framework.Felix.startBundle(Felix.java:2100)[org.apache.felix.framework-4.4.1.jar:]
        at
org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1299)[org.apache.felix.framework-4.4.1.jar:]
        at
org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:304)[org.apache.felix.framework-4.4.1.jar:]
        at java.lang.Thread.run(Thread.java:745)[:1.7.0_111]
Caused by: java.lang.Exception: Unable to convert value
org.apache.activemq.pool.PooledConnectionFactory@774e0baa to type
javax.jms.ConnectionFactory
        at
org.apache.aries.blueprint.container.AggregateConverter.convert(AggregateConverter.java:184)[18:org.apache.aries.blueprint.core:1.4.2]
        at
org.apache.aries.blueprint.container.BlueprintRepository.convert(BlueprintRepository.java:402)[18:org.apache.aries.blueprint.core:1.4.2]
        at
org.apache.aries.blueprint.utils.ReflectionUtils$PropertyDescriptor.convert(ReflectionUtils.java:394)[18:org.apache.aries.blueprint.core:1.4.2]
        at
org.apache.aries.blueprint.utils.ReflectionUtils$MethodPropertyDescriptor.internalSet(ReflectionUtils.java:628)[18:org.apache.aries.blueprint.core:1.4.2]
        at
org.apache.aries.blueprint.utils.ReflectionUtils$PropertyDescriptor.set(ReflectionUtils.java:378)[18:org.apache.aries.blueprint.core:1.4.2]
        at
org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:939)[18:org.apache.aries.blueprint.core:1.4.2]
        ... 28 more




--
View this message in context: http://servicemix.396122.n5.nabble.com/Unable-to-convert-value-from-passed-Service-object-tp5720268p5724003.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Re: Unable to convert value from passed Service object

Posted by John Smith <js...@googlemail.com>.
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 <js...@googlemail.com>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 <
> gert.vanthienen@gmail.com> 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 <js...@googlemail.com>
>> 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.
>>
>
>

Re: Unable to convert value from passed Service object

Posted by John Smith <js...@googlemail.com>.
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
JMS (3.0.7.RELEASE)
[ 106] [Active     ] [            ] [       ] [   50]
camel-jms (2.10.7)
[ 156] [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)
[  85] [Active     ] [            ] [       ] [   50]
activemq-spring (5.7.0)
[ 107] [Active     ] [            ] [       ] [   50]
activemq-camel (5.7.0)
[ 194] [Active     ] [            ] [       ] [   50]
activemq-web-console (5.7.0)
[ 280] [Active     ] [Created     ] [       ] [   50]
activemq-broker.xml (0.0.0)



On Wed, May 14, 2014 at 8:53 PM, Gert Vanthienen
<ge...@gmail.com>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 <js...@googlemail.com>
> 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.
>

Re: Unable to convert value from passed Service object

Posted by Gert Vanthienen <ge...@gmail.com>.
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 <js...@googlemail.com> 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.