gpt4 book ai didi

error-handling - Apache Camel-如何在默认处理程序之前处理异常?

转载 作者:行者123 更新时间:2023-12-03 08:34:52 25 4
gpt4 key购买 nike

我有一个简单的 Camel 设置:

            final MyErrorProcessor myErrorProcessor = new MyErrorProcessor(10);

onException(FooException.class)
.bean(myErrorProcessor, "process")
.redeliveryDelay(TimeUnit.SECONDS.toMillis(5))
.maximumRedeliveries(10);

from(MIDDLE_QUEUE)
.bean(ProcessorBean.class, "process")
.to(resultEndpoint)
.end();

其中myErrorProcessor只是我想在获取异常后立即调用的bean。

问题是,仅当所有重试均失败时,我才会执行myErrorProcessor.process(),但是我只想计算异常,即使它们已成功重试也是如此。

我知道这里有.onRedelivery(),但它有类似的问题:它仅在redeliveryDelay之后才调用我的bean,而不是在抛出异常时调用。

所以,我的问题是:有没有办法在Camel捕获异常时通知我的自定义bean,而又不删除重试策略?

最佳答案

您是否可以从FooException中删除重新交付,然后让自定义bean运行其处理并在处理后重新抛出异常?那么可以使用单独的异常句柄重新交付吗?

谢谢,
约格什

关于error-handling - Apache Camel-如何在默认处理程序之前处理异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13802498/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com