【问题标题】:Test Dead Letter Channel in Apache Camel在 Apache Camel 中测试死信通道
【发布时间】:2014-03-27 10:46:02
【问题描述】:

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

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

【问题讨论】:

    标签: testing apache-camel dead-letter


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-26
      • 2019-02-02
      • 2017-03-25
      相关资源
      最近更新 更多