首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >camelContext :将routeContext导入外部Camel

camelContext :将routeContext导入外部Camel
EN

Stack Overflow用户
提问于 2015-12-13 03:28:41
回答 1查看 1.9K关注 0票数 0

我在项目A中有一个camel上下文:

代码语言:javascript
运行
复制
<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:

代码语言:javascript
运行
复制
<routeContext id="bRoutes" xmlns="http://camel.apache.org/schema/spring">
    <route id="barB">
        <from uri="direct:barB"/>
        <to uri="mock:barB"/>
    </route>
</routeContext>

项目C:

代码语言:javascript
运行
复制
<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”中。

我怎么能这样做呢?

如果我添加

代码语言:javascript
运行
复制
<routeContextRef ref="bRoutes"/>
<routeContextRef ref="cRoutes"/>

对于工程A中的xml文件,加载工程B时不识别cRoutes,加载工程C时不识别bRoutes。

EN

回答 1

Stack Overflow用户

发布于 2015-12-14 02:28:43

这并不能很好地处理blueprint,就像现在一样。您可以使用纯Java DSL做到这一点,但是据我所知,您不能将camelcontext从另一个xml文件导入到当前的xml文件中。

基本上,如果您正在将您的camel部署到Karaf,您可以使用direct-vm将项目A、B和C彼此连接起来。因此,您应该编写direct-VM:C而不是direct:barC。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34244019

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档