我正在使用blueprint编写一个camel应用程序。我有两个路由调用相同的类bean但是针对不同的情况(在类中基于路由id处理)。我想只在第一个路由完成时启动第二个路由它的执行(顺序而不是并行)。所以有任何办法可以做同样的事情。以下是我的代码 -
<camelContext id="test"
xmlns="http://camel.apache.org/schema/blueprint">
<route id="1">
<from uri="timer"/>
<to uri="bean:test"/>
</route>
<route id="2">
<from uri="timer"/>
<to uri="bean:test"/>
</route>
</camelContext>
由于
答案 0 :(得分:1)
引导驼峰上下文时启动路由。您可能正在寻找在“route1”处理后将路由到“route2”的交换
这听起来像是同一条路线。在实现不同的行为时,您有一些选项可以重用bean。最简单的IMO就是使用不同的方法:
class TestBean {
void test1(){}
void test2(){}
}
然后更改您的路线配置:
<route id="1">
<from uri="timer"/>
<to uri="bean:test?method=test1"/>
<to uri="bean:test?method=test2"/>
</route>
当然你可以改变这些是不同的豆...