camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Soto <alex.s...@envieta.com>
Subject Re: Property with key XXX not found in properties from text (blueprint, sslContextParameters)
Date Wed, 11 Jan 2017 19:55:51 GMT
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 <quinn@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.soto@envieta.com <mailto:alex.soto@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.soto@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


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message