EAS_在controllerBean中调用其他方法,发生异常后,事务没有回滚
首先列出例子如下:在一个方法中,执行了多个逻辑,第一部分是调用退票逻辑,第二部分是执行其他业务,这里我们遇到问题,退票逻辑执行成功,但是后面的代码异常,这时我们需要的是退回所有执行,

这时我们就需要认清facade中的事务属性:

就是EJB规范的6种事务属性:
Required: 要求有事务: 如果已有事务,则在当前事务中进行;如果没有,就新建事务;
RequiredNew: 要求有事务: 不管原来有没有事务,都新建事务,在新事务环境中执行。
Mandatory: 要求有事务:如果原来没有事务,即抛异常。
Supports: 可支持事务:如果原来有事务,就在当前事务中进行;如果没有,就不新建事务,即可在事务环境中进行。
NotSupports: 无事务:如果原来有事务,则先挂起事务,继续在无事务环境中执行; 如果原来没有事务, 则可继续执行。
Never:不支持事务: 如果原来有事务,则抛异常; 如果没有,则可继续执行。
一般标准方法 save,update 等事务属性都设置的required,这里我们如果想实现上面的要求,就可以将这个方法的事务属性也设置为“required”就可以了
linux下的docker操作命令及异常