Apache Camel RoutingSlip以递归方式将消息发送到相同的端点

时间:2015-08-31 13:28:55

标签: apache-camel activemq

我一直在使用RouteingSlip将消息发送到特定于特定消息的不同端点。以下是我在RouteBuilder中定义RoutingSlip的方法。

 for (TransitionTarget state : children.values()) {
                List<Transition> transitions = state.getTransitionsList();
                RouteDefinition routeDefinition = from("activemq:queue:" + state.getId() + "?asyncConsumer=true").to("bean:" + state.getId() + "?method=process");
                RoutingSlipDefinition<RouteDefinition> routingSlipDef = routeDefinition.routingSlip(header("MySlip"));
                routingSlipDef.setIgnoreInvalidEndpoints(true);}

以下是我最初将消息发送到Start endpoint(我正在使用ActiveMq)的方式

template.sendBodyAndHeader("activemq:queue:HasReported",event,"MySlip","activemq:DarkDevice,activemq:HasAnomalies");

但是当我运行程序时,似乎消息被递归地发送到“DarkDevice”和“HasReported”activemq端点。我期待的是它应该只向特定端点发送一次消息。

0 个答案:

没有答案