2

我有一条基本上将数据从一个数据库表传输到另一个的路由。生产者和消费者是 JPA 端点。简化:

from(producer)
.process(new StagingEventTransformer())
.to(consumer);

我目前想要捕捉的是消费者的持久性异常。如果数据库约束(例如,列上不为空)不匹配,可能会出现这种情况。

“.onException(Exception.class)”在路由和全局级别上都没有捕获到异常。

目前,由于异常,该消息将从生产者数据库表中删除,而不将其添加到消费者表中。这意味着这里可能会丢失消息。

那么,如何改进我的异常处理以确保只有在消费者表中的插入成功时才会删除生产者表中的条目?

在此先感谢您的帮助

4

1 回答 1

0

将它包装在 doTry()/doCatch()/doFinally() 中怎么样?

于 2019-07-17T16:14:07.113 回答