WMQ/JMS将提交延迟到特定事件

WMQ/JMS将提交延迟到特定事件,jms,ibm-mq,Jms,Ibm Mq,在我的应用程序中,我在事务会话中异步从MQ队列获取消息(我向我的消费者注册了一个消息侦听器,在发送消息进行处理后调用commit),但我不需要在另一个线程完成和更新信息之前提交(而不是将消息从队列中移除)。有没有一个好的标准解决方案?提前谢谢 为什么不从消息侦听器线程本身更新信息?如果更新失败,则回滚else commit。尝试使用java.util.concurrent.CyclicBarrier..顺便说一句,我不会将CyclicBarrier称为“标准”方式。混合使用异步使用者和多线程在设

在我的应用程序中,我在事务会话中异步从MQ队列获取消息(我向我的消费者注册了一个消息侦听器,在发送消息进行处理后调用commit),但我不需要在另一个线程完成和更新信息之前提交(而不是将消息从队列中移除)。有没有一个好的标准解决方案?提前谢谢

为什么不从消息侦听器线程本身更新信息?如果更新失败,则回滚else commit。尝试使用java.util.concurrent.CyclicBarrier..顺便说一句,我不会将CyclicBarrier称为“标准”方式。混合使用异步使用者和多线程在设计上有些失败,因为异步使用者是异步的;因此,如果您需要将它们与其他东西同步,那么为什么首先要使用它们呢?如果您能够以单线程方式重写代码,那么您应该这样做(多线程事务会被破坏!)。如果不使用CyclicBarrier或CountingSemaphore。。