0

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

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

4

1 回答 1

0

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

from("log:dead?level=ERROR").to("mock:logger");
于 2014-02-25T11:47:22.803 回答