我正在尝试将驼峰路由部署到我的karaf容器(在Spring DSL中):
<?xml version="1.0" encoding="UTF-8"?>
<blueprint
xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.osgi.org/xmlns/blueprint/v1.0.0
http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd">
<bean id="milo-client" class="org.apache.camel.component.milo.client.MiloClientComponent">
<!--<property name="enableAnonymousAuthentication" value="true"/>-->
</bean>
<camelContext xmlns="http://camel.apache.org/schema/blueprint">
<route id="opctorest">
<from uri="timer://simpleTimer?period=1000"/>
<log message="Triggered Route: opctorest: Sensorreading body: ${body}"/>
<to uri="milo-client:tcp://127.0.0.1:4840/freeopcua/server?namespaceUri=http://examples.freeopcua.github.io"/>
<convertBodyTo type="java.lang.String"/>
<to uri="stream:out"/>
</route>
</camelContext>
</blueprint>
该路由的捆绑包未安装,但保留在&#34; GracePeriod&#34;状态。我修复了所有缺少的依赖项(我认为它确实如此),但我不明白这个消息:
捆绑251 ----------状态:GracePeriod蓝图11/23/16 2:08 PM缺少依赖项: (及(objectClass的= org.apache.aries.blueprint.NamespaceHandler)(osgi.service.blueprint.namespace = http://camel.apache.org/schema/blueprint))
我可以做些什么来解决这种依赖?安装了camel-blueprint
,就像白羊座一样。 Karaf是版本4.0.5。蓝图是2.16.3。
谢谢!
答案 0 :(得分:0)
如果您将camel XSD网址添加到schemaLocation
属性?
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:camel="http://camel.apache.org/schema/blueprint"
xsi:schemaLocation="
http://www.osgi.org/xmlns/blueprint/v1.0.0 http://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">
编辑:我正在评论,但这是一个很长的故事,所以就是这样。
我不是100%肯定,但<camelContext xmlns="http://camel.apache.org/schema/blueprint">
告诉Blueprint使用哪个命名空间来验证XML的那部分。蓝图需要知道&#34;哪里&#34;查找该命名空间的架构(xmlns
= XML N ame S 步伐),然后搜索{{1属性。
命名空间是标签&#39;前缀,例如在schemaLocation
mythings 中是名称空间。通过使用<mythings:tag>
属性,您基本上就是说#34;此处的所有内容都具有以下命名空间&#34;。
我意识到这是问题:
Bundle 251 ----------状态:GracePeriod Blueprint 11/23/16 2:08 PM缺少依赖项:(&amp;(objectClass = org.apache.aries.blueprint。 NamespaceHandler < /强>)(osgi.service.blueprint.namespace = <强> http://camel.apache.org/schema/blueprint 强>))
答案 1 :(得分:0)
似乎与Camel 2.16.3有某种关系。一旦我升级到2.18,一切都很好。 milo-client端点依赖于Camel 2.18。
谢谢大家的帮助!