【问题标题】:How to rollback OracleDB commit with Camel Jms Transaction rollback如何使用 Camel Jms 事务回滚回滚 OracleDB 提交
【发布时间】:2021-03-07 22:39:43
【问题描述】:

我将 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。

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

【问题讨论】:

    标签: java oracle transactions apache-camel jms


    【解决方案1】:

    查看Camels onCompletion and the Unit of Work 概念。

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

    【讨论】:

      猜你喜欢
      • 2013-09-19
      • 2016-10-28
      • 2015-12-31
      • 2012-12-24
      • 2013-11-20
      • 2013-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多