Actually, the error is coming from a different Blueprint context/bundle, not 
the one I pasted below. 
This other context does not reference this property, so this is very strange.

How is this possible: 

Blueprint context A depends on a service exposed by Blueprint B.
Blueprint B uses a property XXX.
Blueprint B deploys without errors.  Property XX has default value.
Blueprint A does not reference/use property XXX.
Blueprint A produces the error below.
Persistent ID in A and B are different,

It looks like the dependency on property XXX from B is leaking to A.
Again, this same code deploys fine with Camel 2.17.4, not so with 2.18.x

Any ideas?

Best regards,
Alex soto




> On Jan 10, 2017, at 6:05 PM, Alex Soto <alex.s...@envieta.com> wrote:
> 
> Hello,
> 
> Starting with Camel 2.18.0, and including 2.18.1, I am getting this error 
> during deployment of my Blueprint routes.  The exact same blueprint deploys 
> fine with version 2.17.4, so it looks like something was changed in 2.18.x 
> that is causing this.  Here is a fragment of my blueprint xml:  
>  
> <?xml version="1.0" encoding="UTF-8"?>
> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0 
> <http://www.osgi.org/xmlns/blueprint/v1.0.0>"
>       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance 
> <http://www.w3.org/2001/XMLSchema-instance>"
>       xmlns:camel="http://camel.apache.org/schema/blueprint 
> <http://camel.apache.org/schema/blueprint>"
>       xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0 
> <http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0>"
>       xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0 
> <http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0>"
>       xsi:schemaLocation="
>              http://www.osgi.org/xmlns/blueprint/v1.0.0 
> <http://www.osgi.org/xmlns/blueprint/v1.0.0> 
> https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd 
> <https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd>">
> 
>       <ext:property-placeholder />
>       
>       <cm:property-placeholder persistent-id="http.server" 
> update-strategy="reload" placeholder-prefix="#{" placeholder-suffix="}" >
>               <cm:default-properties>
>                       <cm:property name="la.keystore.password" 
> value="keystore"/>
>                       <cm:property name="la.keymanager.password" 
> value="keystore"/>
>                       <cm:property name="la.keystore.file" 
> value="${user.home}/.la/${la.id}/keystore.jks"/>
>                       <cm:property name="la.keystore.type" value="JKS"/>
>                       <cm:property name="la.keystore.provider" value="SUN"/>
>                       
>                       <cm:property name="la.trustore.file" 
> value="${user.home}/.la/${la.id}/truststore.jks"/>
>                       <cm:property name="la.truststore.password" 
> value="truststore"/>
>                       <cm:property name="la.truststore.type" value="JKS"/>
>                       <cm:property name="la.truststore.provider" value="SUN"/>
>               </cm:default-properties>
>       </cm:property-placeholder>
>       
>       <camel:sslContextParameters id="sslParams">
>               <camel:keyManagers keyPassword="{{la.keystore.password}}">
>                       <camel:keyStore resource="{{la.keystore.file}}" 
>                         password="{{la.keystore.password}}" 
>                         type="{{la.keystore.type}}" 
>                         provider="{{la.keystore.provider}}" />
>               </camel:keyManagers>
>               <camel:trustManagers>
>                       <camel:keyStore 
>                         resource="{{la.trustore.file}}" 
>                         password="{{la.truststore.password}}" 
>                         type="{{la.truststore.type}}" 
>                         provider="{{la.truststore.provider}}" />
>               </camel:trustManagers>
>       </camel:sslContextParameters>
> 
> And here is the stack trace:
> 
> 
> 2017-01-10 17:39:57,974 | ERROR | rint Extender: 2 | BlueprintCamelContext    
>         | 48 - org.apache.camel.camel-blueprint - 2.18.0 | Error occurred 
> during starting Camel: CamelContext(revocation-scheduler) due Error parsing 
> property value: {{la.keystore.password}}
> org.apache.camel.RuntimeCamelException: Error parsing property value: 
> {{la.keystore.password}}
>       at 
> org.apache.camel.util.jsse.JsseParameters.parsePropertyValue(JsseParameters.java:76)
>       at 
> org.apache.camel.util.jsse.KeyManagersParameters.createKeyManagers(KeyManagersParameters.java:105)
>       at 
> org.apache.camel.util.jsse.SSLContextParameters.createSSLContext(SSLContextParameters.java:296)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
> Method)[:1.8.0_45]
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_45]
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_45]
>       at java.lang.reflect.Method.invoke(Method.java:497)[:1.8.0_45]
>       at 
> org.apache.aries.proxy.impl.ProxyHandler$1.invoke(ProxyHandler.java:54)
>       at 
> org.apache.aries.proxy.impl.ProxyHandler.invoke(ProxyHandler.java:119)
>       at 
> org.apache.camel.util.jsse.$SSLContextParameters1910699777.createSSLContext(Unknown
>  Source)
>       at 
> org.apache.camel.component.netty4.http.HttpClientInitializerFactory.createSSLContext(HttpClientInitializerFactory.java:134)
>       at 
> org.apache.camel.component.netty4.http.HttpClientInitializerFactory.<init>(HttpClientInitializerFactory.java:59)
>       at 
> org.apache.camel.component.netty4.http.HttpClientInitializerFactory.createPipelineFactory(HttpClientInitializerFactory.java:72)
>       at 
> org.apache.camel.component.netty4.NettyProducer.doStart(NettyProducer.java:134)
>       at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
>       at 
> org.apache.camel.impl.SynchronousDelegateProducer.start(SynchronousDelegateProducer.java:66)
>       at 
> org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:75)
>       at 
> org.apache.camel.impl.DeferServiceStartupListener.onCamelContextStarted(DeferServiceStartupListener.java:49)
>       at 
> org.apache.camel.impl.DefaultCamelContext.safelyStartRouteServices(DefaultCamelContext.java:3529)[51:org.apache.camel.camel-core:2.18.0]
>       at 
> org.apache.camel.impl.DefaultCamelContext.doStartOrResumeRoutes(DefaultCamelContext.java:3308)[51:org.apache.camel.camel-core:2.18.0]
>       at 
> org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:3162)[51:org.apache.camel.camel-core:2.18.0]
>       at 
> org.apache.camel.impl.DefaultCamelContext.access$000(DefaultCamelContext.java:182)[51:org.apache.camel.camel-core:2.18.0]
>       at 
> org.apache.camel.impl.DefaultCamelContext$2.call(DefaultCamelContext.java:2957)
>       at 
> org.apache.camel.impl.DefaultCamelContext$2.call(DefaultCamelContext.java:2953)
>       at 
> org.apache.camel.impl.DefaultCamelContext.doWithDefinedClassLoader(DefaultCamelContext.java:2976)[51:org.apache.camel.camel-core:2.18.0]
>       at 
> org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:2953)[51:org.apache.camel.camel-core:2.18.0]
>       at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
>       at 
> org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:2920)[51:org.apache.camel.camel-core:2.18.0]
>       at 
> org.apache.camel.blueprint.BlueprintCamelContext.start(BlueprintCamelContext.java:185)
>       at 
> org.apache.camel.blueprint.BlueprintCamelContext.maybeStart(BlueprintCamelContext.java:217)
>       at 
> org.apache.camel.blueprint.BlueprintCamelContext.serviceChanged(BlueprintCamelContext.java:155)
>       at 
> org.apache.felix.framework.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:990)
>       at 
> org.apache.felix.framework.EventDispatcher.fireEventImmediately(EventDispatcher.java:838)
>       at 
> org.apache.felix.framework.EventDispatcher.fireServiceEvent(EventDispatcher.java:545)
>       at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4557)
>       at org.apache.felix.framework.Felix.registerService(Felix.java:3549)
>       at 
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:348)
>       at 
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:355)
>       at 
> org.apache.camel.blueprint.BlueprintCamelContext.init(BlueprintCamelContext.java:105)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
> Method)[:1.8.0_45]
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_45]
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_45]
>       at java.lang.reflect.Method.invoke(Method.java:497)[:1.8.0_45]
>       at 
> org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:299)[38:org.apache.aries.blueprint.core:1.7.1]
>       at 
> org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:980)[38:org.apache.aries.blueprint.core:1.7.1]
>       at 
> org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:736)[38:org.apache.aries.blueprint.core:1.7.1]
>       at 
> org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:848)[38:org.apache.aries.blueprint.core:1.7.1]
>       at 
> org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:811)[38:org.apache.aries.blueprint.core:1.7.1]
>       at 
> org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)[38:org.apache.aries.blueprint.core:1.7.1]
>       at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_45]
>       at 
> org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[38:org.apache.aries.blueprint.core:1.7.1]
>       at 
> org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:255)[38:org.apache.aries.blueprint.core:1.7.1]
>       at 
> org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:186)[38:org.apache.aries.blueprint.core:1.7.1]
>       at 
> org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:724)[38:org.apache.aries.blueprint.core:1.7.1]
>       at 
> org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:411)[38:org.apache.aries.blueprint.core:1.7.1]
>       at 
> org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:276)[38:org.apache.aries.blueprint.core:1.7.1]
>       at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_45]
>       at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_45]
>       at 
> org.apache.aries.blueprint.container.ExecutorServiceWrapper.run(ExecutorServiceWrapper.java:106)[38:org.apache.aries.blueprint.core:1.7.1]
>       at 
> org.apache.aries.blueprint.utils.threading.impl.DiscardableRunnable.run(DiscardableRunnable.java:48)[38:org.apache.aries.blueprint.core:1.7.1]
>       at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_45]
>       at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_45]
>       at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)[:1.8.0_45]
>       at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)[:1.8.0_45]
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_45]
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_45]
>       at java.lang.Thread.run(Thread.java:745)[:1.8.0_45]
> Caused by: java.lang.IllegalArgumentException: Property with key 
> [la.keystore.password] not found in properties from text: 
> {{la.keystore.password}}
>       at 
> org.apache.camel.component.properties.DefaultPropertiesParser$ParsingContext.getPropertyValue(DefaultPropertiesParser.java:268)
>       at 
> org.apache.camel.component.properties.DefaultPropertiesParser$ParsingContext.readProperty(DefaultPropertiesParser.java:154)
>       at 
> org.apache.camel.component.properties.DefaultPropertiesParser$ParsingContext.doParse(DefaultPropertiesParser.java:113)
>       at 
> org.apache.camel.component.properties.DefaultPropertiesParser$ParsingContext.parse(DefaultPropertiesParser.java:97)
>       at 
> org.apache.camel.component.properties.DefaultPropertiesParser.parseUri(DefaultPropertiesParser.java:62)
>       at 
> org.apache.camel.component.properties.PropertiesComponent.parseUri(PropertiesComponent.java:209)
>       at 
> org.apache.camel.component.properties.PropertiesComponent.parseUri(PropertiesComponent.java:160)
>       at 
> org.apache.camel.impl.DefaultCamelContext.resolvePropertyPlaceholders(DefaultCamelContext.java:2348)[51:org.apache.camel.camel-core:2.18.0]
>       at 
> org.apache.camel.util.jsse.JsseParameters.parsePropertyValue(JsseParameters.java:74)
> 
> 
> 
> Thanks for any help or pointers.
> Best regards,
> Alex soto
> 
> 

Reply via email to