【发布时间】:2016-02-01 12:39:00
【问题描述】:
我正在使用 Java EE 6。 我想在成功提交事务后触发一个动作。目前,我的计划是在 EJB 中使用 CDI 事务事件:
@Asynchronous
public void triggerAction(@Observes(during = TransactionPhase.AFTER_SUCCESS) MyEvent myEvent){
// Do something with the event
}
触发事件的事务可以参与XA分布式事务。
在两阶段提交的哪个阶段会调用观察者?
文档说明:
在事务的完成后阶段调用成功后观察者方法,仅当事务成功完成时。
我不确定在使用分布式事务时这意味着什么。
此外,是否有任何保证数据已经在 DB 中(即,当决定提交时是否可以调用我的观察者方法,但数据尚未保存在 DB 中?)。
【问题讨论】:
标签: java jakarta-ee ejb cdi xa