我的一个项目中存在这个问题。
我有2个MDB可以执行任务。
第一个MDB运行,将一些数据插入数据库并发送 JMS队列所需的参考编号。
第二个MDB侦听此JMS队列,并在收到时收听 消息,选择并使用数据库开始处理 参考编号。
使用XA连接使用2阶段提交。
只有在运行数据库插入/更新语句并将消息发送到队列后才执行提交。
问题是,第二个MDB接收消息并运行,它找不到第一个MDB插入/更新的数据。
可以说首先发布JMS消息,然后发生数据库提交。
项目要求在数据库事务完成后才发送消息。
有人可以帮忙吗?
我正在使用2PC,理想情况下,消息提交和数据库提交应该 发生在同一时间。