【发布时间】:2019-11-25 17:06:09
【问题描述】:
我有一条基本上将数据从一个数据库表传输到另一个的路由。生产者和消费者是 JPA 端点。简化:
from(producer)
.process(new StagingEventTransformer())
.to(consumer);
我目前想要捕捉的是消费者的持久性异常。如果数据库约束(例如,列上的非空值)不匹配,可能会出现这种情况。
“.onException(Exception.class)”在路由和全局级别都没有捕捉到异常。
目前,由于异常,消息将从生产者数据库表中删除,而不将其添加到消费者表中。这意味着这里可能会丢失消息。
那么,我该如何改进我的异常处理,以确保只有在消费者表中的插入成功时才会删除生产者表中的条目?
提前感谢您的帮助
【问题讨论】:
标签: exception apache-camel camel-sql