如何在EJB3事务提交后“做某事”?

时间:2011-04-21 15:24:38

标签: transactions ejb ejb-3.1 post-commit

EJB3中是否有允许我在事务提交后执行某些代码的东西(我想发送XMPP消息以通知外部设备进行更新)?

我知道我可以使用JTA API执行类似的操作,并且可以使用我自己编写的XA资源,但我觉得这不是正确的工具。

THX

1 个答案:

答案 0 :(得分:3)

创建一个实现javax.ejb.SessionSynchronization的有状态会话bean,并从事务中调用一个方法。将使用事务的结果调用afterCompletion方法。

更新:如果您使用的是EJB 3.1,则可以使用@AfterCompletion注释SFSB的方法,而不是实现接口。