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 17:15:44 GMT
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>"
> 	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
> 
> 


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