我在项目A中有一个camel上下文:
<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都能够将它们的路由("bRoutes“和"cRoutes")导入到它们从项目A继承的camel上下文"camelContext”中。
我怎么能这样做呢?
如果我添加
<routeContextRef ref="bRoutes"/>
<routeContextRef ref="cRoutes"/>对于工程A中的xml文件,加载工程B时不识别cRoutes,加载工程C时不识别bRoutes。
发布于 2015-12-14 02:28:43
这并不能很好地处理blueprint,就像现在一样。您可以使用纯Java DSL做到这一点,但是据我所知,您不能将camelcontext从另一个xml文件导入到当前的xml文件中。
基本上,如果您正在将您的camel部署到Karaf,您可以使用direct-vm将项目A、B和C彼此连接起来。因此,您应该编写direct-VM:C而不是direct:barC。
https://stackoverflow.com/questions/34244019
复制相似问题