我一直在关注向死信频道发送消息的例子,但还没有弄清楚如何测试这个。消息确实被路由到DLC,但我想确保它已经过测试。
例如,我如何测试 log:dead 端点上收到的消息。此代码位于从 CamelTestSupport :
扩展的测试类中@Override
protected RouteBuilder createRouteBuilder() throws Exception {
return new RouteBuilder() {
@Override
public void configure() throws Exception {
errorHandler(deadLetterChannel("log:dead?level=ERROR").logHandled(true));
from("direct:testdlc").process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
throw new IllegalArgumentException("kaboom!");
}
}).to("mock:file");
}
};
}
一种选择是将其写入新路线,但我希望使用开箱即用的记录器。
答案 0 :(得分:0)
您可以在记录后将消息发送到模拟端点。
from("log:dead?level=ERROR").to("mock:logger");