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

Fatalfallbackerrorhandler虽然被设置为true,但仍被调用

汪阿苏
2023-03-14

我有一个骆驼路线如下。虽然我设置了处理(true),但我不明白为什么defaul在所有重试都耗尽后,defaul的处理程序会调用的。

onException(Exception.class)
    .handled(true)
    .to("direct:errors")          ----->  (1)
    ;                    

from("direct:errors")
    .log("hello world ");

from("timer:testRoute")
   .routeId("testRoute_1")
   .throwException(new Exception("Dummy Exception"))
   .pollEnrich("file://source")
   .to(http://localhost:8080)

日志:

20.04.03 11:46:53.907 INFO ad #6 - timer://testRoute route1 面包屑 Id=ID-xxxxxx-1585894556662-0-4 |世界您好

20.04.03 11:46:53.913错误广告#6-计时器://testRoadmel.processor.默认错误处理程序BreadCrembId=ID-xxxxxx-1585894556662-0-4|交付失败(MessageId: ID-xxxxxx-1585894556662-0-5 on Ex那他:ID-xxxxxx-1585894556662-0-4)。交付尝试后耗尽:4捕获:java.lang.异常:虚拟异常。由故障处理器处理:FatalFallBackError Handler[Channel[sendTo(直接://错误)]]

如果,我注释行(1) defaulterrorhandler没有调用fatalfallbackerrorhandler。

共有1个答案

景信瑞
2023-03-14

这看起来完全正确。我甚至在一个测试类中尝试过它,结果正如你所期望的那样,计时器每秒“生成”一个日志条目。

事实上,是转发到直接:错误的消息重试了5次都没有成功。这很奇怪,因为直接组件是骆驼核心的一部分。

我建议检查您的项目依赖关系。你的类路径上有不同版本的Camel JAR吗?如果您使用Maven,您可以尝试Maven执行器插件来检查类路径冲突。

 类似资料:
  • 我是写测试和使用Mockito的新手。我在Stackoverflow上阅读了类似的主题,并做了建议的更改,确保所考虑的类/接口/方法是开放的。 我试图跟踪这个 模仿构造函数注入的依赖项 这是我目前想出来的测试 但我一直得到的回应是 即使我在测试中没有提到这种方法,我也得到了这种反应。这是我的演示者注册方法。我已经改变了类/接口 同样地 这里是接口 感谢您的帮助。

  • 最后,我在它的活动onCreate中也恢复了对这个片段的引用: 但是,每次我旋转我的设备时,都会调用活动的onCreate,然后也会调用片段的onCreate!由于我将SetRetaInstance设置为true,所以不应该发生这种情况。这种行为有原因吗?

  • 我正在尝试编写一个函数,该函数将取一个整数,将其除以数字,将其相加,如果总和为 我并不是真的在寻找一个最佳的解决方案,我只是想知道为什么这不起作用。

  • 所以我已经实现了一个Spring引导JAVA应用程序作为服务器和角作为前端。所以实际上,当我在本地运行这些时,一切都很好。 但是当我为两者构建Docker映像并尝试将它们作为容器进行测试时,我面临着CORS错误。 由于我使用JWT令牌作为安全性,我已经禁用了crsf和默认的Spring Security令牌。所以在这里您可以看到CORS的JAVA配置; 这就是nginx。形态 即使我尝试在同一网络

  • 可以在gdb启动时,通过选项指定被调试程序的参数,例如: $ gdb -args ./a.out a b c 也可以在gdb中,通过命令来设置,例如: (gdb) set args a b c (gdb) show args Argument list to give program being debugged when it is started is "a b c". 也可以在运行程序时

  • 我正在一个使用Quarkus版本1.7.3的项目中使用SmallRye实现Eclipse微文件度量。我需要收集ApplicationScoped类中的方法返回的随机整数值作为度量,但当我使用@Gauge时,度量基础结构会调用该方法。它对我不起作用,因为我需要为该方法提供一个参数,这样它才有意义。当方法由我自己的应用程序调用而不是由微文件实现调用时,是否有方法收集此度量? 在我的场景中,我向外部AP