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

Aapche-Camel在每次重试时保存错误信息

宇文智敏
2023-03-14

我有一个Apache Camel路由,它处理队列中的消息。为了更好地理解运行时发生的事情,我还将执行状态保存在数据库中(重试次数、上次执行状态、...)。我想使用异常处理程序中的重新传递机制,但它对每次更新数据库记录的失败都执行一些处理。

from("jms:myinputqueue")
    .onException(RetriableException.class)
        .maximumRedeliveries(5)
        .maximumRedeliveryDelay(10000)
        .useOriginalMessage()
        .to("log:store error information in database about each attempt") // (1)
        .end() // onException
    .to("log:apply business logic here which can throw exceptions")
;

共有1个答案

微生城
2023-03-14

您可以使用onexceptionAccessed处理器,在异常发生时调用该处理器。

它包含在Camel 2.17之后:https://issues.apache.org/jira/browse/Camel-9069

 类似资料:
  • 社区向导, 我真的很沮丧。谈到Spark、Hadoop等人,似乎没有什么是直截了当的。 在过去的几个小时里,我试图找到以下问题的解决方案: 版本: 操作系统:Windows 10 火花版本:2.4.6 Scala版本:2.11.12 Hadoop版本:2.7.1 Java版本:1.80_202(64位) 变量: SPARK\u主页:C:\SPARK 路径: %SPARK_HOME%\bin %HA

  • 问题内容: 每次在Linux中保存文件时如何运行脚本? 问题答案: Linux有一个子系统调用inotify,它可以使文件系统向应用程序报告文件系统中的更改。 您的linux系统可能有一个名为的软件包,使使用变得非常容易。(或在可用的软件包中搜索描述中包含“ inotify”一词的任何软件包)。 设置非常类似于setup ,除了在指定的时间和日期执行脚本,每当指定的文件或目录更改时执行脚本。 PS

  • 日志条目:10:25 运营:08:25

  • 我在跑步 在我的redis cli上,如果至少有一个键发生了更改,则每10分钟保存一次,但是它给了我: 我在redis官方网站上举了一个例子:http://redis.io/topics/persistence 我做错了什么?

  • 我在努力打字 当我保存一个实体时,有时我的数据会更新,有时不会。完全相同的请求第一次不会起作用,但第二次会起作用。我使用保存()更新和插入。插入时一切都好。 以下是我的代码(使用NestJS键入表单): == == == == 当我在save()之后找到()时,我的用户地址不会更新,而我从Mongo收到了modifiedCount 1。如果我重复这个请求,这一次它是有效的。。。 有什么想法吗?

  • 守则 @RestController的代码: