如何在camel中的onRedirection之前执行onException块中的操作?

cbjzeqam  于 12个月前  发布在  Apache
关注(0)|答案(1)|浏览(104)

我在camel路由中有一个onException块。它看起来像这样:

...
.onException(SomeException.class)
.maximumRedeliveries(3)
.redeliveryDelay(5000)
.onRedelivery(e -> {log()})
.retryAttemptedLogLevel(WARN)
.process(e -> {log()})
.handled(true)
...

问题是重交付是在进程之前执行的。我想在重审前做点什么。这可能吗?

doinxwow

doinxwow1#

根据注解中的要求,在异常发生后立即执行操作。你可以使用. onExceptionRedirect()处理器,它在异常发生后立即执行,而onRedirection()在重试之前执行。你可以参考文档获取更多信息。

...
.onException(SomeException.class)
.onExceptionOccurred(e -> {log()})
.maximumRedeliveries(3)
.redeliveryDelay(5000)
.onRedelivery(e -> {log()})
.retryAttemptedLogLevel(WARN)
.process(e -> {log()})
.handled(true);
...

相关问题