我当前的用例在我的侦听器中,它会:
我可以根据Gary提到的内容生成所有的重播事件,如果在生成过程中出现任何异常,则可以回滚所有重播事件。
使用一个带有ProducerCallback的执行方法. SessionCallback和ProducerCallback 然后,在ProducerCallback.doInJms()方法中. 使用生产者发送多条消息。当回调退出时,事务将被提交。
但是,如果在步骤3中出现异常,我们只能回滚原始事件,而不能回滚那些重播事件,因为在步骤2中,我们已经在回调退出之后提交了那些重放事件,而那些重播事件已经在另一个队列中了,不能回滚。
如果步骤3有异常,是否有人对我们如何回滚一切有更好的了解?
发布于 2017-04-29 12:39:56
你必须在同一个会话内做所有的事情;消耗,生产.,卡桑德拉。
都在doInJms()..。
尝试{
最后{
}
https://stackoverflow.com/questions/43690507
复制相似问题