我试图根据三个不同的标准来路由对象。
我的问题是:
1)为什么如果我有ie路由,对象以随机的方式进入其中一个过滤器而不是线性?
2)如果这不起作用我应该怎么做(例子),如果我用"选择"和"当",我可以使用自定义方法进行路由吗?比如我在这个例子中使用过滤器
非常感谢
示例:
camelContext.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
from("activemq:cfes.queue").filter().method(CustomCamelFilter.class, "methodOne")
.to("file://c:/u01/tomcat_conf/folder1");
from("activemq:cfes.queue").filter().method(CustomCamelFilter.class, "methodTwo")
.to("file://c:/u01/tomcat_conf/folder2");
from("activemq:cfes.queue").filter().method(CustomCamelFilter.class, "methodThree")
.to("file://c:/u01/tomcat_conf/folder3");
答案 0 :(得分:0)
在这里使用.filter()
模式是不正确的,当你确实应该使用.choice()
模式时,就像这样:
.choice()
.when(method(MyBean.class, "methodOne")).log("HELLO1")
.when(method(MyBean.class, "methodTwo")).log("HELLO2")
.when(method(MyBean.class, "methodThree")).log("HELLO3")
.otherwise().log("OOPS!")
.end()