Transactions 在CMT中,若我设置Requires_新的事务属性并抛出系统异常,那个么客户端将获得哪个异常?

Transactions 在CMT中,若我设置Requires_新的事务属性并抛出系统异常,那个么客户端将获得哪个异常?,transactions,java-ee-6,ejb-3.1,Transactions,Java Ee 6,Ejb 3.1,比如说,, 如果我从web上下文调用EJB方法。EJB具有带有本地Bean的容器管理事务(CMT),其方法具有required\u新事务属性。 若EJB方法引发系统异常,客户端会得到什么? 我的意思是,交易被回滚。那么,客户机是获取EJBTransactionRolledBackException还是简单地获取EJBException 提前感谢。根据EJB3.1规范,第14.3.1节“会话Bean的业务接口方法和无接口的异常”,表15说明RequiresNew方法引发的非AppException

比如说,, 如果我从web上下文调用EJB方法。EJB具有带有本地Bean的容器管理事务(CMT),其方法具有
required\u新事务属性。
若EJB方法引发系统异常,客户端会得到什么?
我的意思是,交易被回滚。那么,客户机是获取
EJBTransactionRolledBackException
还是简单地获取
EJBException


提前感谢。

根据EJB3.1规范,第14.3.1节“会话Bean的业务接口方法和无接口的异常”,表15说明RequiresNew方法引发的非AppException会导致客户端接收EJBException。EJBTransactionException旨在当EJB方法使用调用者的事务运行时抛出,并且EJB容器由于系统异常已将该事务标记为回滚