我想知道为什么在使用TransactionAttributeType时我们使用无状态注释,如下所示:
@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
@Stateless
public class Controller {
感谢任何帮助,谢谢!
答案 0 :(得分:1)
@Stateless确定bean的类型(一个不与客户端保持对话状态的bean)。 @TransactionAttribute确定处理事务的方式。在您的示例中,bean在调用结束后不会保持特定于客户端的状态。但是当您选择REQUIRES_NEW时,它将始终为每个方法调用创建一个新事务(与默认情况下相反,当可以使用现有事务时,如果它不存在则将由容器创建)。