2016-12-27 9 views
1

Когда я пытаюсь разрешить несколько свойств как значения xs: int, используя пространство имен prop (http://camel.apache.org/schema/placeholder), как описано в документации верблюда (http://camel.apache.org/using-propertyplaceholder.html), я столкнулся с проблемой ниже, где идет пучок до «GRACEPERIOD» при попытке разрешить пространство имен.Использование пространства имен «prop» в чертеже верблюда для разрешения свойства

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 

Ниже план XML я использую

<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> 

Пожалуйста, помогите мне найти, как разрешить пространство имен в план.

Версии, используемые:

верблюд Core: 2.10.0.redhat-60024

верблюд Blueprint: 2.10.0.redhat-60024

Jboss Предохранитель: 6.0.0. redhat-024

ответ

1

Я думаю, что это никогда не сработает наша настройка.

Страница, которую вы связаны using propertyplaceholder четко говорится:

Использование свойств заполнителей для любого вида атрибутов в XML DSL
Доступно с Camel 2,7
Если вы используете OSGi Blueprint, то это работает только с 2.11.1 или 2.10.5 сверху.

Ваша старая версия JBoss Fuse обеспечивает 2.10.0

Вы должны обновить его до последней JBoss Fuse.
В настоящее время последняя версия - 6.3.0 с Camel 2.17.0