测试Apache Camel中的死信频道

时间:2014-02-25 09:50:12

标签: testing apache-camel dead-letter

我一直在关注向死信频道发送消息的例子,但还没有弄清楚如何测试这个。消息确实被路由到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");
        }
    };
}

一种选择是将其写入新路线,但我希望使用开箱即用的记录器。

1 个答案:

答案 0 :(得分:0)

您可以在记录后将消息发送到模拟端点。

from("log:dead?level=ERROR").to("mock:logger");