EJB事务和业务对象

时间:2017-07-05 16:45:19

标签: java java-ee transactions

我尝试使用以下命令启动新的ejb事务:

@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)

我的服务方法中的

注释。一切正常,在我的服务中,它被称为BusinessObject。当该businessObject抛出异常时,它会传播到ejb并回滚它的事务。

我的问题是:是否可以使用与ejb相同的注释在另一个事务中执行businessObject方法?

示例:

@Stateless
    public class Service {

    @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
    public int methodA(String name) {
        BusinessObject business = new BusinessObject();
        business.save(name);
    }
}

public BusinessObject {
    public void save(String name){
        doSomeStuff(name);   
        log(name);
    }

    @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
    private log(name){
        doSomeOtherStuff(name);
    }
}

检查我的业务对象的log方法的事务属性...这是一个有效的注释吗?显然,它已经脱离了ejb,但背景已经在交易中了。

感谢您的帮助!

0 个答案:

没有答案