When i am trying to resolve few properties as xs:int values using prop namespace(http://camel.apache.org/schema/placeholder) as explained in camel documentation (http://camel.apache.org/using-propertyplaceholder.html) i am facing below issue where bundle goes to "GRACEPERIOD" when trying to resolve the namespace.
09:08:35,325 | DEBUG | e-1.1.0-thread-1 | BlueprintContainerImpl | 15 - org.apache.aries.blueprint.core - 1.0.1.redhat-60024 | Running blueprint container for bundle MyBundle
in state WaitForNamespaceHandlers
09:08:35,325 | INFO | e-1.1.0-thread-1 | BlueprintContainerImpl | 15 - org.apache.aries.blueprint.core - 1.0.1.redhat-60024 | Bundle MyBundle is waiting for namespace hand
lers [http://camel.apache.org/schema/placeholder]
09:08:35,325 | DEBUG | e-1.1.0-thread-1 | BlueprintEventDispatcher | 15 - org.apache.aries.blueprint.core - 1.0.1.redhat-60024 | Sending blueprint container event BlueprintEvent[type=GRACE_
PERIOD, dependencies=[(&(objectClass=org.apache.aries.blueprint.NamespaceHandler)(osgi.service.blueprint.namespace=http://camel.apache.org/schema/placeholder))]] for bundle MyBundle
09:08:35,325 | DEBUG | nt Dispatcher: 1 | BlueprintListener | 48 - org.apache.karaf.shell.osgi - 2.3.0.redhat-60024 | Blueprint app state changed to GracePeriod for bundle 284
Below is the blueprint xml i am using
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:camel="http://camel.apache.org/schema/blueprint"
xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:prop="http://camel.apache.org/schema/placeholder"
xsi:schemaLocation="
http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0 http://aries.apache.org/schemas/blueprint-cm/blueprint-cm-1.0.0.xsd
http://camel.apache.org/schema/blueprint http://camel.apache.org/schema/blueprint/camel-blueprint.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
<cm:property-placeholder id="id2" persistent-id="protectedproperties"
placeholder-prefix="$(" placeholder-suffix=")"/>
<cm:property-placeholder id="id1" persistent-id="instance" placeholder-prefix="${" placeholder-suffix="}"/>
<camel:camelContext id="blueprintContext" trace="false"
xmlns="http://camel.apache.org/schema/blueprint" streamCache="true"
handleFault="false" useBreadcrumb="false" useBlueprintPropertyResolver="false">
<!-- Disable jmxAgent to improve performance. This needs to be enabled
only when the flow needs to be seen via hawtio -->
<camel:jmxAgent disabled="true" />
<camel:threadPoolProfile
id="changedProfile"
defaultProfile="true"
prop:poolSize="camel.thread.poolSize"
prop:maxPoolSize="camel.thread.maxPoolSize"
prop:maxQueueSize="camel.thread.maxQueueSize"/>
</camel:camelContext>
Please help me find how to resolve the namespace in blueprint.
Versions used:
Camel Core : 2.10.0.redhat-60024
Camel Blueprint : 2.10.0.redhat-60024
Jboss Fuse : 6.0.0.redhat-024
I think it's never going to work in your setup.
The page you linked using propertyplaceholder clearly states:
Your old version of JBoss Fuse provides 2.10.0
You should upgrade to the latest JBoss Fuse.
At this time the latest version is 6.3.0 with Camel 2.17.0