Java 如何使用驼峰Jms事务回滚回滚OracleDB提交

Java 如何使用驼峰Jms事务回滚回滚OracleDB提交,java,oracle,transactions,apache-camel,jms,Java,Oracle,Transactions,Apache Camel,Jms,我正在使用ApacheCamel 3.1.0和Spring boot 1.5.6,我已经成功地创建了完美工作的camel事务路由。基本路线是这样的 from(Source JmsEndpoint) .process( myDaoImplClass.myTransactionalDatabaseMethod("Save data coming in Message") ).to(Destination Endpoint) 当目标队列上的队列深度已满,并且由于事务性路由而未将其

我正在使用ApacheCamel 3.1.0和Spring boot 1.5.6,我已经成功地创建了完美工作的camel事务路由。基本路线是这样的

from(Source JmsEndpoint)
.process(
myDaoImplClass.myTransactionalDatabaseMethod("Save data coming in Message")
).to(Destination Endpoint)
当目标队列上的队列深度已满,并且由于事务性路由而未将其从源队列中删除时,会发生问题。所以,源队列再次发送相同的消息,而我的数据库方法由于重复的消息而给出DataIntegrityViolationException

是否有一种方法可以回滚持久化数据或仅在整个路由成功时进行提交。

请查看概念

你只能用它来做失败或成功的事情