单例会话bean的生命周期回调方法中的事务属性

时间:2014-07-08 12:42:33

标签: java transactions ejb

为什么在单例会话bean中用@PostConstruct或@PreDestroy注释的方法 容器管理的事务只能具有以下事务属性之一:

•必须

•REQUIRES_NEW

•NOT_SUPPORTED

1 个答案:

答案 0 :(得分:3)

我想因为@PostConstruct@PreDestroy带注释的方法是在bean创建或销毁期间由容器调用的方法,所以将这些方法作为强制事务的一部分是没有意义的(因为没有业务)在@PostConstruct之前调用的方法。同样适用于SUPPORT类型。

你可以让方法本身是事务性的(所以这个方法变成了原子)但它不能连接其他事务,因为它是由容器调用的,你无法控制它。