【问题标题】:spring jms rollback event from queue来自队列的spring jms回滚事件
【发布时间】:2017-04-29 20:43:29
【问题描述】:

我有一个场景,我们使用 spring jms 将事件发布到队列并更新数据库中的状态,但有时发布到结束队列是成功的,但将状态更新到数据库失败,所以在这个特定场景中,应该滚动发布到队列的事件回到数据库更新失败,所以发布到队列是在另一个框架中,更新到数据库是另一个框架,所以我们不能将事件发布到队列和数据库更新放在我们当前使用的同一位置 JMSTEMPLATE.EXECUTE(new ProducerCallback{}) 在队列中发布。

我知道当执行到达JMSTEMPLATE.EXECUTE(new ProducerCallback{}) 方法的末尾时,它将提交,但我的数据库更新逻辑在JMSTEMPLATE.EXECUTE(new ProducerCallback{}) 方法之外,所以我想根据成功插入到数据库的情况来控制事件发布到队列表示如果插入成功响应失败,则发布到队列的事件应回滚。

谁能帮我弄清楚如何实现这个场景。

提前致谢。

【问题讨论】:

    标签: java jms spring-jms


    【解决方案1】:

    您还需要在doInJms() 方法中执行数据库更新。如果抛出异常,JMS 更新将回滚。

    【讨论】:

      猜你喜欢
      • 2015-02-25
      • 1970-01-01
      • 2013-02-26
      • 1970-01-01
      • 2013-09-23
      • 2022-12-01
      • 2018-12-20
      • 2011-04-25
      • 1970-01-01
      相关资源
      最近更新 更多