【问题标题】:Using "prop" namespace in camel blueprint to resolve a property在骆驼蓝图中使用“prop”命名空间来解析属性
【发布时间】:2017-05-11 08:50:30
【问题描述】:

当我尝试使用 prop 命名空间 (http://camel.apache.org/schema/placeholder) 将少数属性解析为 xs:int 值时,如骆驼文档 (http://camel.apache.org/using-propertyplaceholder.html) 中所述,我面临以下问题,其中捆绑包转到“GRACEPERIOD" 尝试解析命名空间时。

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>

请帮我看看如何解析蓝图中的命名空间。

使用的版本:

骆驼核心:2.10.0.redhat-60024

骆驼蓝图:2.10.0.redhat-60024

Jboss 保险丝:6.0.0.redhat-024

【问题讨论】:

    标签: apache-camel jbossfuse blueprint-osgi


    【解决方案1】:

    我认为它永远不会在您的设置中起作用。

    您链接的页面using propertyplaceholder 明确指出:

    在 XML DSL 中为任何类型的属性使用属性占位符
    从 Camel 2.7 开始提供
    如果您使用 OSGi 蓝图,那么这仅适用于 2.11.12.10.5

    您的旧版 JBoss Fuse 提供 2.10.0

    您应该升级到最新的 JBoss Fuse。
    目前最新版本是 6.3.0 和 Camel 2.17.0

    【讨论】:

      猜你喜欢
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 2013-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-23
      • 2017-04-30
      相关资源
      最近更新 更多