【问题标题】:Apache Camel - JPAEndpoint - Catch exception on commit e.g. PersistenceExceptionApache Camel - JPAEndpoint - 提交时捕获异常,例如持久性异常
【发布时间】:2019-11-25 17:06:09
【问题描述】:

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

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

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

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

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

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

提前感谢您的帮助

【问题讨论】:

    标签: exception apache-camel camel-sql


    【解决方案1】:

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

    【讨论】:

    • 嗯,这个答案的问题是......?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-10
    • 2011-09-15
    • 2017-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多