I think it is related to the camel:sslContextParameters.  I am creating and 
exporting this object as a service from one bundle to the other.
The client bundle imports the service:

<reference id="sslParams" 
interface="org.apache.camel.util.jsse.SSLContextParameters" 
ext:proxy-method=“classes”/>


but the property should have been resolved already within the exporting bundle. 
 The It seems to be looking for the property in the client bundle context, and 
not in the context of the defining bundle.

Best regards,
Alex soto



> On Jan 11, 2017, at 1:58 PM, Quinn Stevenson <qu...@pronoia-solutions.com> 
> wrote:
> 
> Could it be because you’ve changed the placeholder prefix/suffix?
> 
> 
>> On Jan 11, 2017, at 10:15 AM, Alex Soto <alex.s...@envieta.com 
>> <mailto:alex.s...@envieta.com>> wrote:
>> 
>> 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><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><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><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><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><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><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><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