我在 EJB3 无状态会话 Bean 中使用 CMT。同时,我创建了一个带有 "@ApplicationException (rollback=true)" 注解的自定义异常。
当我想回滚事务时,我是否需要使用 "context.setRollbackOnly()"?
答:是的,您需要使用 "context.setRollbackOnly()" 来回滚事务。我是否可以通过在bean中的公共方法中抛出异常来回滚事务?
答:是的,您可以通过在bean中的公共方法中抛出异常来回滚事务。如果是这样(问题2的答案为是),我是否需要在方法中声明异常将异常抛出方法外部,或者只在方法内部抛出异常并在同一方法内处理它就足够了?(我不想将异常传播到下一个级别。我只想回滚异常。)
答:是的,如果您只想回滚异常并且不想将其传播到下一个级别,那么在方法内部抛出异常并在同一方法内处理它就足够了。
提前感谢。;)