【发布时间】:2018-04-21 11:53:15
【问题描述】:
我遇到了 Mockito 拒绝使用注解 @TransactionManagement 模拟任何类的问题。现在我知道,如果您希望在 jee6 中使用容器管理事务,则不需要此注释。 jee5中也是这样吗?
【问题讨论】:
我遇到了 Mockito 拒绝使用注解 @TransactionManagement 模拟任何类的问题。现在我知道,如果您希望在 jee6 中使用容器管理事务,则不需要此注释。 jee5中也是这样吗?
【问题讨论】:
自 EJB 3.0(Java EE 5 的一部分)以来,容器管理事务一直是 EJB 容器中的默认设置。在此之前,您需要在ejb-jar.xml 部署描述符中将transaction-type 指定为Bean 或Container。
javax.ejb.TransactionManagement 的 javadoc 声明:
如果不使用此注解,则假定 bean 具有容器管理的事务管理。
此外,EJB-3.0 规范的 §13.3.6 还规定:
默认情况下,如果未指定事务管理类型,会话 bean 或消息驱动 bean 具有容器管理的事务划分。
【讨论】: