捆绑包保持宽限期状态
bundle stays in GracePeriod status
我正在尝试在我的骆驼路线中实例化一个 "cxf:cxfEndpoint"。但是捆绑包保持 "GracePeriod" 状态,日志如下:
2016-11-10 11:03:07,598 | INFO | rint Extender: 1 | BlueprintContainerImpl | ? ? | 21 - org.apache.aries.blueprint.core - 1.4.2 | Bundle com.entreprise.example is waiting for namespace handlers [http://camel.apache.org/schema/blueprint]
我的 camelContext.xml 文件是:
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0"
xmlns:jaxws="http://cxf.apache.org/blueprint/jaxws" xmlns:cxf="http://cxf.apache.org/blueprint/core"
xmlns:camel="http://camel.apache.org/schema/blueprint" xmlns:camelcxf="http://camel.apache.org/schema/blueprint/cxf"
xsi:schemaLocation=" http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
http://cxf.apache.org/blueprint/jaxws http://cxf.apache.org/schemas/blueprint/jaxws.xsd
http://cxf.apache.org/blueprint/core http://cxf.apache.org/schemas/blueprint/core.xsd">
<camelcxf:cxfEndpoint id="fist"
serviceClass="com.entreprise.example.services.firstService"
address="http://localhost:8181/cxf/example/firstMsg">
<camelcxf:properties>
<entry key="dataFormat" value="POJO" />
<entry key="loggingFeatureEnabled" value="true" />
</camelcxf:properties>
</camelcxf:cxfEndpoint>
<camelcxf:cxfEndpoint id="second"
serviceClass="com.entreprise.example.services.secondService"
address="http://localhost:8181/cxf/example/secondMessage">
<camelcxf:properties>
<entry key="dataFormat" value="POJO" />
<entry key="loggingFeatureEnabled" value="true" />
</camelcxf:properties>
</camelcxf:cxfEndpoint>
<camelContext trace="false" id="example"
xmlns="http://camel.apache.org/schema/blueprint">
<route>
<from uri="cxf:bean:first" />
<to uri="cxf:bean:second" />
</route>
</camelContext>
看来您真的搞砸了蓝图架构声明。用下面的内容替换蓝图声明
<?xml version="1.0" encoding="UTF-8"?>
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
xmlns:cxf="http://camel.apache.org/schema/blueprint/cxf"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
http://camel.apache.org/schema/blueprint http://camel.apache.org/schema/blueprint/camel-blueprint.xsd">
并使用“cxf”而不是“camelcxf”作为端点和 Bean 的前缀,这将变得更加清晰和可重复(尽管您可以自由使用您喜欢使用的任何前缀)。
好的,为避免混淆使用如下,这将解决等待依赖项错误:
<?xml version="1.0" encoding="UTF-8"?>
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.2.0"
xmlns:cxf="http://camel.apache.org/schema/blueprint/cxf" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
http://camel.apache.org/schema/blueprint http://camel.apache.org/schema/blueprint/camel-blueprint.xsd">
<cxf:cxfEndpoint id="fist"
serviceClass="com.entreprise.example.services.firstService" address="http://localhost:8181/cxf/example/firstMsg">
<cxf:properties>
<entry key="dataFormat" value="POJO" />
<entry key="loggingFeatureEnabled" value="true" />
</cxf:properties>
</cxf:cxfEndpoint>
<cxf:cxfEndpoint id="second"
serviceClass="com.entreprise.example.services.secondService" address="http://localhost:8181/cxf/example/secondMessage">
<cxf:properties>
<entry key="dataFormat" value="POJO" />
<entry key="loggingFeatureEnabled" value="true" />
</cxf:properties>
</cxf:cxfEndpoint>
<camelContext trace="false" id="example"
xmlns="http://camel.apache.org/schema/blueprint">
<route>
<from uri="cxf:bean:first" />
<to uri="cxf:bean:second" />
</route>
</blueprint>
我正在尝试在我的骆驼路线中实例化一个 "cxf:cxfEndpoint"。但是捆绑包保持 "GracePeriod" 状态,日志如下:
2016-11-10 11:03:07,598 | INFO | rint Extender: 1 | BlueprintContainerImpl | ? ? | 21 - org.apache.aries.blueprint.core - 1.4.2 | Bundle com.entreprise.example is waiting for namespace handlers [http://camel.apache.org/schema/blueprint]
我的 camelContext.xml 文件是:
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0"
xmlns:jaxws="http://cxf.apache.org/blueprint/jaxws" xmlns:cxf="http://cxf.apache.org/blueprint/core"
xmlns:camel="http://camel.apache.org/schema/blueprint" xmlns:camelcxf="http://camel.apache.org/schema/blueprint/cxf"
xsi:schemaLocation=" http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
http://cxf.apache.org/blueprint/jaxws http://cxf.apache.org/schemas/blueprint/jaxws.xsd
http://cxf.apache.org/blueprint/core http://cxf.apache.org/schemas/blueprint/core.xsd">
<camelcxf:cxfEndpoint id="fist"
serviceClass="com.entreprise.example.services.firstService"
address="http://localhost:8181/cxf/example/firstMsg">
<camelcxf:properties>
<entry key="dataFormat" value="POJO" />
<entry key="loggingFeatureEnabled" value="true" />
</camelcxf:properties>
</camelcxf:cxfEndpoint>
<camelcxf:cxfEndpoint id="second"
serviceClass="com.entreprise.example.services.secondService"
address="http://localhost:8181/cxf/example/secondMessage">
<camelcxf:properties>
<entry key="dataFormat" value="POJO" />
<entry key="loggingFeatureEnabled" value="true" />
</camelcxf:properties>
</camelcxf:cxfEndpoint>
<camelContext trace="false" id="example"
xmlns="http://camel.apache.org/schema/blueprint">
<route>
<from uri="cxf:bean:first" />
<to uri="cxf:bean:second" />
</route>
</camelContext>
看来您真的搞砸了蓝图架构声明。用下面的内容替换蓝图声明
<?xml version="1.0" encoding="UTF-8"?>
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
xmlns:cxf="http://camel.apache.org/schema/blueprint/cxf"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
http://camel.apache.org/schema/blueprint http://camel.apache.org/schema/blueprint/camel-blueprint.xsd">
并使用“cxf”而不是“camelcxf”作为端点和 Bean 的前缀,这将变得更加清晰和可重复(尽管您可以自由使用您喜欢使用的任何前缀)。
好的,为避免混淆使用如下,这将解决等待依赖项错误:
<?xml version="1.0" encoding="UTF-8"?>
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.2.0"
xmlns:cxf="http://camel.apache.org/schema/blueprint/cxf" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
http://camel.apache.org/schema/blueprint http://camel.apache.org/schema/blueprint/camel-blueprint.xsd">
<cxf:cxfEndpoint id="fist"
serviceClass="com.entreprise.example.services.firstService" address="http://localhost:8181/cxf/example/firstMsg">
<cxf:properties>
<entry key="dataFormat" value="POJO" />
<entry key="loggingFeatureEnabled" value="true" />
</cxf:properties>
</cxf:cxfEndpoint>
<cxf:cxfEndpoint id="second"
serviceClass="com.entreprise.example.services.secondService" address="http://localhost:8181/cxf/example/secondMessage">
<cxf:properties>
<entry key="dataFormat" value="POJO" />
<entry key="loggingFeatureEnabled" value="true" />
</cxf:properties>
</cxf:cxfEndpoint>
<camelContext trace="false" id="example"
xmlns="http://camel.apache.org/schema/blueprint">
<route>
<from uri="cxf:bean:first" />
<to uri="cxf:bean:second" />
</route>
</blueprint>