如果我有一个带有 @ApplicationException(inherited = true, rollback = true) 的异常,但我希望子类不回滚。我可以只用@ApplciationException(rollback = false) 注释子类吗?或者这行不通?规范似乎没有说,我可以找到。
EJB 3.1 规范 (JSR 318) 在 14.2.1 节中对此进行了解释。有一个例子:
In the following example :
@ApplicationException(rollback=true)
public class ExceptionA extends RuntimeException
public class ExceptionB extends ExceptionA
@ApplicationException(inherited=false, rollback=false)
public class ExceptionC extends ExceptionB
public class ExceptionD extends ExceptionC
ExceptionA is an application exception with transaction rollback.
ExceptionB is an application exception with transaction rollback.
ExceptionC is an application exception without transaction rollback.
ExceptionD is not an application exception.
Run Code Online (Sandbox Code Playgroud)