Jam*_*mes 2 java apache-camel intercept
我有一个主要的路线建设者:
public class MainRouteBuilder extends RouteBuilder {
@Override
public void configure() throws Exception {
from("activemq:a.out").to("activemq:b.in");
from("activemq:b.in").bean(MainMessageConsumer.class);
}
}
Run Code Online (Sandbox Code Playgroud)
我有第二个“拦截”路由构建器:
public class InterceptRouteBuilder extends RouteBuilder {
@Override
public void configure() throws Exception {
interceptSendToEndpoint("activemq:a.out").to("activemq:c.in").skipSendToOriginalEndpoint();
from("activemq:c.in").bean(InterceptMessageConsumer.class);
}
}
Run Code Online (Sandbox Code Playgroud)
两者都注册到 CamelContext(首先注册 MainRouteBuilder,然后注册 InterceptRouteBuilder)。但是,当我通过以下方式向“activemq:a.out”发送消息时:
public class App {
@Produce(uri="activemq:a.out")
private Producer producer;
public void run() {
producer.request("hello");
}
}
Run Code Online (Sandbox Code Playgroud)
消息仍然到达 MainMessageConsumer 而不是被拦截。我究竟做错了什么?