我在项目A中有一个驼峰语境:
<camelContext id="camelContext">
<route id="camelRoute1">
<from uri="vm:foo" />
<log message="camelRoute1 completed" />
</route>
</camelContext>
项目B和项目C使用项目A作为Maven依赖项。
项目B和C中的每一个都定义了自己的<routeContext>
(在单独的xml文件中):
项目B:
<routeContext id="bRoutes" xmlns="http://camel.apache.org/schema/spring">
<route id="barB">
<from uri="direct:barB"/>
<to uri="mock:barB"/>
</route>
</routeContext>
项目C:
<routeContext id="cRoutes" xmlns="http://camel.apache.org/schema/spring">
<route id="barC">
<from uri="direct:barC"/>
<to uri="mock:barC"/>
</route>
</routeContext>
我希望项目B和C中的每一个能够将他们的路线(&#34; bRoutes&#34;和#34; cRoutes&#34;)导入到驼峰环境中#34; camelContext&#34 ;他们继承自项目A.
我怎么能这样做?
如果我添加
<routeContextRef ref="bRoutes"/>
<routeContextRef ref="cRoutes"/>
到项目A中的xml文件,&#34; cRoutes&#34;加载项目B时不会被识别,并且&#34; bRoutes&#34;加载项目C时将无法识别。
答案 0 :(得分:0)
这对于蓝图并不是很好,因为它现在是正确的。您可以使用纯Java DSL执行此操作,但据我所知,您无法将camelcontext从另一个xml文件导入到当前的文件中。
基本上,如果您将骆驼部署到Karaf,您可以使用direct-vm将项目A,B和C相互连接。所以不要直接:barC你要写直接VM:C。