【发布时间】:2023-04-09 09:41:01
【问题描述】:
我有一个主路由构建器:
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);
}
}
我有第二个“拦截”路由构建器:
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);
}
}
两者都注册到 CamelContext(首先注册 MainRouteBuilder,其次是 InterceptRouteBuilder)。但是,当我通过以下方式向“activemq:a.out”发送消息时:
public class App {
@Produce(uri="activemq:a.out")
private Producer producer;
public void run() {
producer.request("hello");
}
}
消息仍然到达 MainMessageConsumer 而不是被拦截。我做错了什么?
【问题讨论】:
标签: java apache-camel intercept