当前位置: 首页 > 知识库问答 >
问题:

在Apache Camel中测试死信通道

梁丘霖
2023-03-14

我一直在关注向死信频道发送消息的例子,但还没有找到如何测试这一点。消息确实会被路由到DLC,但我想确保这是经过测试的。

例如,我将如何测试消息是否在 log:dead endpoint上接收。此代码位于从 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个答案

颜瀚漠
2023-03-14

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

from("log:dead?level=ERROR").to("mock:logger");
 类似资料:
  • 我想测试以下骆驼路线。我在网上找到的所有例子都有以文件开头的路由,在我的例子中,我有一个Springbean方法,每隔几分钟就会被调用一次,最后消息被转换并移动到jms以及审计目录。 我对这条路线的写测试毫无头绪。目前我在测试用例中所拥有的是

  • 啊?为什么小米的通信测试岗考软件测试的题啊数据结构、计算机原理、数据库都是好几年前学的了。。两道编程大题梦回大一c++课我看jd以为考通信原理、信号系统、OFDM、MIMO呢呜呜呜。vivo的通信测开考的就是通信啊 🤔笔试感受

  • TL;DR:一旦我修复了最初导致消息被拒绝的消费者代码,我需要将死信消息“重放”回其原始队列中。 我已经为RabbitMQ配置了死信交换(DLX),并成功地将拒绝的消息路由到死信队列。但现在我想查看死信队列中的消息,并尝试决定如何处理每个消息。一些(许多?)一旦有问题的消费者代码被修复,这些消息中的所有消息都应该重放(重新排队)到它们的原始队列(在“x-death”标题中可用)。但我该怎么做呢?我

  • 我正在尝试设计一个基于SQS、Lambda和SNS的小型消息处理系统。在失败的情况下,我希望将消息排入死信队列(DLQ)中,并调用webhook。 目前,如果一切顺利,流程应该是这样的: SQS(用于处理重试)将消息排入队列 lambda由SQS调用并处理消息 lambda发送webhook,并正常完成 如果lambda中的某些东西出错(无法调用success webhook,无法处理手头的任务)

  • 主要就是把自己简历上的东西讲清楚就可以了 建议大家不懂的不要随便说,不然说错了会减分。不懂的实话就说自己还未关注,也并不会减分。但是如果问的都不会,那可能就有问题了。 希望大家面试前一定要熟透自己的简历啊,最后祝愿大家都能顺利通过面试 #中兴##面试#

  • 1.自我介绍 2.对测试的哪个点感兴趣 3.哪里人, 为什么选成都不选重庆 4.职业规划 5.项目介绍 6.测试一个空调遥控器 7.刚才的内容涉及到了哪些测试方法 8.黑盒测试与白盒测试 9.举一个等价类划分的例子 10.python怎么引入一个包 11.python读取文件的具体某一行 12.什么是关系型数据库 13.有没有学过视图 14.Linux创建一个大小为2M,初始化内容全为a的文件 1