Apache Camel-JPAEndpoint-提交时捕获异常,例如PersistenceException

时间:2019-07-16 22:12:55

标签: exception apache-camel camel-sql

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

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

我当前要捕获的是使用者的持久性异常。如果数据库约束(例如,列上不为null)不匹配,则可能是这种情况。

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

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

因此,我如何改善我的异常处理能力,以确保只有在使用者表中的插入成功后才会删除生产者表中的条目?

预先感谢您的帮助

1 个答案:

答案 0 :(得分:-1)

如何将其包装在doTry()/ doCatch()/ doFinally()中?