[英]How to rollback OracleDB commit with Camel Jms Transaction rollback
我将 Apache camel 3.1.0 与 Spring boot 1.5.6 一起使用,并且我已经成功创建了完美运行的 Camel 事务路由。 基本路线是这样的
from(Source JmsEndpoint)
.process(
myDaoImplClass.myTransactionalDatabaseMethod("Save data coming in Message")
).to(Destination Endpoint)
当目标队列上的队列深度已满并且由于事务性路由未从源队列中删除时,会出现问题。 因此,源队列再次发送相同的消息,并且由于重复消息,我的数据库方法给出了 DataIntegrityViolationException。
有没有办法可以回滚持久数据或仅在整个路由成功时才提交。
查看Camels onCompletion 和工作单元概念。
您可以使用它来仅在失败或成功时执行操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.