You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by SpinWin <pi...@gmail.com> on 2012/12/10 19:37:40 UTC
property-placeholder + OSGI
Hello,
I tried to do the following configuration:
<cm:property-placeholder persistant-id="fr.spinwin.test"
update-strategy="reload">
<cm:default-properties>
<cm:property name="pathIn" value="file:/home/spinwin/input"/>
<cm:property name="pathOut" value="file:/home/spinwin/input/done"/>
</cm:default-properties>
</cm:property-placeholder>
<bean id="testNormalisation"
class="fr.spinwin.test.route.TestNormalisation">
<property name="aPathIn" value="${pathIn}"/>
<property name="aPathOut" value="${pathOut}"/>
</bean>
<camelContext id="blueprintCamelContext" trac="true"
xmlns="http://camel.apache.org/schema/blueprint">
<routeBuilder ref="testNormalisation"/>
</camelContext>
Everything is ok when I install my bundle in Karaf.
When I start / stop ... no problem.
But when I refresh / update ... I eat a nasty NullPointerException in one of
the package org.apache.aries.blueprint.
If someone could have an idea ... it would help me a lot
Thank you very much.
--
View this message in context: http://camel.465427.n5.nabble.com/property-placeholder-OSGI-tp5723850.html
Sent from the Camel Development mailing list archive at Nabble.com.
Re: property-placeholder + OSGI
Posted by SpinWin <pi...@gmail.com>.
Thank you very much
--
View this message in context: http://camel.465427.n5.nabble.com/property-placeholder-OSGI-tp5723850p5723946.html
Sent from the Camel Development mailing list archive at Nabble.com.
Re: property-placeholder + OSGI
Posted by Christian Müller <ch...@gmail.com>.
Camel 2.10. and before is tested with Karaf 2.2.x as you can read here:
http://camel.apache.org/karaf.html
Camel 2.11 will be the first version officially supporting Karaf 2.3.x.
Best,
Christian
On Tue, Dec 11, 2012 at 8:43 AM, SpinWin <pi...@gmail.com> wrote:
> Hi,
>
> To answer your questions :
>
> Karaf version : 2.3.0
>
> And the NPE Stack Trace :
>
> org.osgi.service.blueprint.container.ComponentDefinitionException:
> java.lang.NullPointerException
> at
>
> org.apache.aries.blueprint.container.ReferenceRecipe.internalCreate(ReferenceRecipe.java:116)[7:org.apache.aries.blueprint.core:1.0.1]
> at
>
> org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)[7:org.apache.aries.blueprint.core:1.0.1]
> at
>
> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)[:1.6.0_27]
> at
> java.util.concurrent.FutureTask.run(FutureTask.java:138)[:1.6.0_27]
> at
>
> org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[7:org.apache.aries.blueprint.core:1.0.1]
> at
>
> org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:933)[7:org.apache.aries.blueprint.core:1.0.1]
> at
>
> org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:907)[7:org.apache.aries.blueprint.core:1.0.1]
> at
>
> org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:888)[7:org.apache.aries.blueprint.core:1.0.1]
> at
>
> org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:820)[7:org.apache.aries.blueprint.core:1.0.1]
> at
>
> org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:787)[7:org.apache.aries.blueprint.core:1.0.1]
> at
>
> org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)[7:org.apache.aries.blueprint.core:1.0.1]
> at
>
> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)[:1.6.0_27]
> at
> java.util.concurrent.FutureTask.run(FutureTask.java:138)[:1.6.0_27]
> at
>
> org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[7:org.apache.aries.blueprint.core:1.0.1]
> at
>
> org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:245)[7:org.apache.aries.blueprint.core:1.0.1]
> at
>
> org.apache.aries.blueprint.container.BlueprintRepository.createInstance(BlueprintRepository.java:230)[7:org.apache.aries.blueprint.core:1.0.1]
> at
>
> org.apache.aries.blueprint.container.BlueprintRepository.create(BlueprintRepository.java:155)[7:org.apache.aries.blueprint.core:1.0.1]
> at
>
> org.apache.aries.blueprint.container.BlueprintContainerImpl.processProcessors(BlueprintContainerImpl.java:496)[7:org.apache.aries.blueprint.core:1.0.1]
> at
>
> org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:338)[7:org.apache.aries.blueprint.core:1.0.1]
> at
>
> org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:252)[7:org.apache.aries.blueprint.core:1.0.1]
> at
>
> org.apache.aries.blueprint.utils.threading.impl.DiscardableRunnable.run(DiscardableRunnable.java:48)[7:org.apache.aries.blueprint.core:1.0.1]
> at
>
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)[:1.6.0_27]
> at
>
> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)[:1.6.0_27]
> at
> java.util.concurrent.FutureTask.run(FutureTask.java:138)[:1.6.0_27]
> at
>
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)[:1.6.0_27]
> at
>
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)[:1.6.0_27]
> at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_27]
> at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_27]
> at java.lang.Thread.run(Thread.java:662)[:1.6.0_27]
> Caused by: java.lang.NullPointerException
> at
>
> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1432)
> at
>
> org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:72)
> at
>
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1843)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:295)[:1.6.0_27]
> at java.lang.ClassLoader.loadClass(ClassLoader.java:247)[:1.6.0_27]
> at java.lang.Class.forName0(Native Method)[:1.6.0_27]
> at java.lang.Class.forName(Class.java:247)[:1.6.0_27]
> at
>
> org.apache.aries.proxy.impl.interfaces.ProxyClassLoader.isInvalid(ProxyClassLoader.java:109)[12:org.apache.aries.proxy.impl:1.0.0]
> at
>
> org.apache.aries.proxy.impl.interfaces.InterfaceProxyGenerator.getProxyInstance(InterfaceProxyGenerator.java:84)[12:org.apache.aries.proxy.impl:1.0.0]
> at
>
> org.apache.aries.proxy.impl.AsmProxyManager.createNewProxy(AsmProxyManager.java:72)[12:org.apache.aries.proxy.impl:1.0.0]
> at
>
> org.apache.aries.proxy.impl.AbstractProxyManager.createDelegatingInterceptingProxy(AbstractProxyManager.java:75)[12:org.apache.aries.proxy.impl:1.0.0]
> at
>
> org.apache.aries.proxy.impl.AbstractProxyManager.createDelegatingProxy(AbstractProxyManager.java:40)[12:org.apache.aries.proxy.impl:1.0.0]
> at
>
> org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.createProxy(AbstractServiceReferenceRecipe.java:299)[7:org.apache.aries.blueprint.core:1.0.1]
> at
>
> org.apache.aries.blueprint.container.ReferenceRecipe.internalCreate(ReferenceRecipe.java:100)[7:org.apache.aries.blueprint.core:1.0.1]
> ... 28 more
>
> and my test configuration:
>
> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:camel="http://camel.apache.org/schema/blueprint"
> xmlns:cm="
> http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"
> xsi:schemaLocation="
> http://www.osgi.org/xmlns/blueprint/v1.1.0
> http://www.osgi.org/xmlns/blueprint/v1.1.0/blueprint.xsd
> http://camel.apache.org/schema/blueprint
> http://camel.apache.org/schema/blueprint/camel-blueprint.xsd
> http://aries.apache.org/blueprint/xmlns/blueprint-cm/
> http://aries.apache.org/schemas/blueprint-cm/blueprint-cm-1.1.0.xsd
> ">
>
> <cm:property-placeholder persistent-id="fr.spinwin.test">
> <cm:default-properties>
> <cm:property name="blabla" value="test" />
> </cm:default-properties>
> </cm:property-placeholder>
>
> <bean id="helloBean" class="fr.spinwin.test.HelloBean">
> <property name="say" value="${blabla}" />
> </bean>
>
> <camelContext id="blueprintContext" trace="false"
> xmlns="http://camel.apache.org/schema/blueprint">
> <route id="timerToLog">
> <from uri="timer:foo?period=5000" />
> <setBody>
> <method ref="helloBean" method="hello" />
> </setBody>
> <log message="The message contains ${body}" />
> </route>
> </camelContext>
> </blueprint>
>
> I used this test from the maven archetype "camel-archetype-blueprint."
>
> Thank you for your help
>
>
>
>
> --
> View this message in context:
> http://camel.465427.n5.nabble.com/property-placeholder-OSGI-tp5723850p5723884.html
> Sent from the Camel Development mailing list archive at Nabble.com.
>
--
Re: property-placeholder + OSGI
Posted by SpinWin <pi...@gmail.com>.
Hi,
To answer your questions :
Karaf version : 2.3.0
And the NPE Stack Trace :
org.osgi.service.blueprint.container.ComponentDefinitionException:
java.lang.NullPointerException
at
org.apache.aries.blueprint.container.ReferenceRecipe.internalCreate(ReferenceRecipe.java:116)[7:org.apache.aries.blueprint.core:1.0.1]
at
org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)[7:org.apache.aries.blueprint.core:1.0.1]
at
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)[:1.6.0_27]
at java.util.concurrent.FutureTask.run(FutureTask.java:138)[:1.6.0_27]
at
org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[7:org.apache.aries.blueprint.core:1.0.1]
at
org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:933)[7:org.apache.aries.blueprint.core:1.0.1]
at
org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:907)[7:org.apache.aries.blueprint.core:1.0.1]
at
org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:888)[7:org.apache.aries.blueprint.core:1.0.1]
at
org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:820)[7:org.apache.aries.blueprint.core:1.0.1]
at
org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:787)[7:org.apache.aries.blueprint.core:1.0.1]
at
org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)[7:org.apache.aries.blueprint.core:1.0.1]
at
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)[:1.6.0_27]
at java.util.concurrent.FutureTask.run(FutureTask.java:138)[:1.6.0_27]
at
org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[7:org.apache.aries.blueprint.core:1.0.1]
at
org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:245)[7:org.apache.aries.blueprint.core:1.0.1]
at
org.apache.aries.blueprint.container.BlueprintRepository.createInstance(BlueprintRepository.java:230)[7:org.apache.aries.blueprint.core:1.0.1]
at
org.apache.aries.blueprint.container.BlueprintRepository.create(BlueprintRepository.java:155)[7:org.apache.aries.blueprint.core:1.0.1]
at
org.apache.aries.blueprint.container.BlueprintContainerImpl.processProcessors(BlueprintContainerImpl.java:496)[7:org.apache.aries.blueprint.core:1.0.1]
at
org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:338)[7:org.apache.aries.blueprint.core:1.0.1]
at
org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:252)[7:org.apache.aries.blueprint.core:1.0.1]
at
org.apache.aries.blueprint.utils.threading.impl.DiscardableRunnable.run(DiscardableRunnable.java:48)[7:org.apache.aries.blueprint.core:1.0.1]
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)[:1.6.0_27]
at
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)[:1.6.0_27]
at java.util.concurrent.FutureTask.run(FutureTask.java:138)[:1.6.0_27]
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)[:1.6.0_27]
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)[:1.6.0_27]
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_27]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_27]
at java.lang.Thread.run(Thread.java:662)[:1.6.0_27]
Caused by: java.lang.NullPointerException
at
org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1432)
at
org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:72)
at
org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1843)
at java.lang.ClassLoader.loadClass(ClassLoader.java:295)[:1.6.0_27]
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)[:1.6.0_27]
at java.lang.Class.forName0(Native Method)[:1.6.0_27]
at java.lang.Class.forName(Class.java:247)[:1.6.0_27]
at
org.apache.aries.proxy.impl.interfaces.ProxyClassLoader.isInvalid(ProxyClassLoader.java:109)[12:org.apache.aries.proxy.impl:1.0.0]
at
org.apache.aries.proxy.impl.interfaces.InterfaceProxyGenerator.getProxyInstance(InterfaceProxyGenerator.java:84)[12:org.apache.aries.proxy.impl:1.0.0]
at
org.apache.aries.proxy.impl.AsmProxyManager.createNewProxy(AsmProxyManager.java:72)[12:org.apache.aries.proxy.impl:1.0.0]
at
org.apache.aries.proxy.impl.AbstractProxyManager.createDelegatingInterceptingProxy(AbstractProxyManager.java:75)[12:org.apache.aries.proxy.impl:1.0.0]
at
org.apache.aries.proxy.impl.AbstractProxyManager.createDelegatingProxy(AbstractProxyManager.java:40)[12:org.apache.aries.proxy.impl:1.0.0]
at
org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.createProxy(AbstractServiceReferenceRecipe.java:299)[7:org.apache.aries.blueprint.core:1.0.1]
at
org.apache.aries.blueprint.container.ReferenceRecipe.internalCreate(ReferenceRecipe.java:100)[7:org.apache.aries.blueprint.core:1.0.1]
... 28 more
and my test configuration:
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:camel="http://camel.apache.org/schema/blueprint"
xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"
xsi:schemaLocation="
http://www.osgi.org/xmlns/blueprint/v1.1.0
http://www.osgi.org/xmlns/blueprint/v1.1.0/blueprint.xsd
http://camel.apache.org/schema/blueprint
http://camel.apache.org/schema/blueprint/camel-blueprint.xsd
http://aries.apache.org/blueprint/xmlns/blueprint-cm/
http://aries.apache.org/schemas/blueprint-cm/blueprint-cm-1.1.0.xsd
">
<cm:property-placeholder persistent-id="fr.spinwin.test">
<cm:default-properties>
<cm:property name="blabla" value="test" />
</cm:default-properties>
</cm:property-placeholder>
<bean id="helloBean" class="fr.spinwin.test.HelloBean">
<property name="say" value="${blabla}" />
</bean>
<camelContext id="blueprintContext" trace="false"
xmlns="http://camel.apache.org/schema/blueprint">
<route id="timerToLog">
<from uri="timer:foo?period=5000" />
<setBody>
<method ref="helloBean" method="hello" />
</setBody>
<log message="The message contains ${body}" />
</route>
</camelContext>
</blueprint>
I used this test from the maven archetype "camel-archetype-blueprint."
Thank you for your help
--
View this message in context: http://camel.465427.n5.nabble.com/property-placeholder-OSGI-tp5723850p5723884.html
Sent from the Camel Development mailing list archive at Nabble.com.
Re: property-placeholder + OSGI
Posted by Willem jiang <wi...@gmail.com>.
Which version of Karaf are you using?
I guess it should be a aries related issue instead of camel one.
But it could be helpful if you can past the NPE stack trace out.
--
Willem Jiang
Red Hat, Inc.
FuseSource is now part of Red Hat
Web: http://www.fusesource.com | http://www.redhat.com
Blog: http://willemjiang.blogspot.com (http://willemjiang.blogspot.com/) (English)
http://jnn.iteye.com (http://jnn.javaeye.com/) (Chinese)
Twitter: willemjiang
Weibo: 姜宁willem
On Tuesday, December 11, 2012 at 2:37 AM, SpinWin wrote:
> Hello,
>
> I tried to do the following configuration:
> <cm:property-placeholder persistant-id="fr.spinwin.test"
> update-strategy="reload">
> <cm:default-properties>
> <cm:property name="pathIn" value="file:/home/spinwin/input"/>
> <cm:property name="pathOut" value="file:/home/spinwin/input/done"/>
> </cm:default-properties>
> </cm:property-placeholder>
>
> <bean id="testNormalisation"
> class="fr.spinwin.test.route.TestNormalisation">
> <property name="aPathIn" value="${pathIn}"/>
> <property name="aPathOut" value="${pathOut}"/>
> </bean>
>
> <camelContext id="blueprintCamelContext" trac="true"
> xmlns="http://camel.apache.org/schema/blueprint">
> <routeBuilder ref="testNormalisation"/>
> </camelContext>
>
>
> Everything is ok when I install my bundle in Karaf.
> When I start / stop ... no problem.
>
> But when I refresh / update ... I eat a nasty NullPointerException in one of
> the package org.apache.aries.blueprint.
>
> If someone could have an idea ... it would help me a lot
>
> Thank you very much.
>
>
>
> --
> View this message in context: http://camel.465427.n5.nabble.com/property-placeholder-OSGI-tp5723850.html
> Sent from the Camel Development mailing list archive at Nabble.com (http://Nabble.com).