Предположим, у меня есть маршрут следующим образомПерехватив Обмен в Camel
from("direct:A")
.process(new ProcessA())
.setHeader(Exchange.HTTP_METHOD, "get")
.recipientList(simple(httpUri + header("doc_id")), "false")
.process(new ProcessB())
.to("direct:B");
В приведенном выше пути httpUri = "http4: // локальный: 25600". Теперь я пытаюсь перехватить сообщение следующим образом.
context.getRouteDefinitions().get(0).adviceWith(context, new AdviceWithRouteBuilder() {
@Override
public void configure() throws Exception {
interceptSendToEndpoint("http4*")
.skipSendToOriginalEndpoint()
.process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
//TODO
}
});
}
});
Проблема здесь заключается в том, что обмен не перехватываются и контекст на самом деле пытается сделать связь с httpUri хозяин даже есть skipSendToOriginalEndpoint.
Пожалуйста, дайте мне знать, если что-то не так в коде. Заранее спасибо.
Я предполагаю, что это в контексте единичного теста, расширяющего 'CamelTestSupport', правильно? – Ray
да Рэй, ты прав. –