首页 > 其他分享 >EAS_在controllerBean中调用其他方法,发生异常后,事务没有回滚

EAS_在controllerBean中调用其他方法,发生异常后,事务没有回滚

时间:2023-07-28 17:04:08浏览次数:39  
标签:回滚 调用 退票 事务 controllerBean 如果 EAS 执行 异常

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

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

 

就是EJB规范的6种事务属性:
Required: 要求有事务: 如果已有事务,则在当前事务中进行;如果没有,就新建事务;
RequiredNew: 要求有事务: 不管原来有没有事务,都新建事务,在新事务环境中执行。
Mandatory: 要求有事务:如果原来没有事务,即抛异常。
Supports: 可支持事务:如果原来有事务,就在当前事务中进行;如果没有,就不新建事务,即可在事务环境中进行。
NotSupports: 无事务:如果原来有事务,则先挂起事务,继续在无事务环境中执行; 如果原来没有事务, 则可继续执行。
Never:不支持事务: 如果原来有事务,则抛异常; 如果没有,则可继续执行。

一般标准方法 save,update 等事务属性都设置的required,这里我们如果想实现上面的要求,就可以将这个方法的事务属性也设置为“required”就可以了

 拓展:若果想实现这个退票里面发生了异常,因为在一个for循环里调用的这个方法,我们不想影响下一次循环的执行,我们可以catch这个异常不处理,也可以参考我的另一篇博客:https://www.cnblogs.com/ketoli/p/17124096.html

标签:回滚,调用,退票,事务,controllerBean,如果,EAS,执行,异常
From: https://www.cnblogs.com/ketoli/p/17588094.html

相关文章

  • listagg 函数--oracle 11g release 2
    http://xpchild.blog.163.com/blog/static/10180985920108485721969/ listagg函数--oracle11grelease2      本文描述了在oracle11grelease2版本中新增的listagg函数,listagg是一个实现字符串聚合的oracle内建函数。作为一种普遍的技术,网络上也有多......
  • TSINGSEE青犀视频汇聚融合平台EasyCVR的中性化版本如何配置?
    TSINGSEE青犀视频监控管理平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,实现视频资源的鉴权管理、按需调阅、全网分发、智能分析等,平台融合性强、开放度高、部署轻快,在智慧工地、智慧园区、智慧工厂、智慧码头、智慧水利等场景中有着广泛的应......
  • TSINGSEE青犀视频汇聚融合平台EasyCVR的中性化版本如何配置?
    TSINGSEE青犀视频监控管理平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,实现视频资源的鉴权管理、按需调阅、全网分发、智能分析等,平台融合性强、开放度高、部署轻快,在智慧工地、智慧园区、智慧工厂、智慧码头、智慧水利等场景中有着广泛的应......
  • git 回滚操作
    Git撤销&回滚操作(gitreset和getrevert)Git的工作流工作区:在gitaddxx之前,在自己当前分支所修改的代码内容!暂存区:已经gitaddxxx进去,且没有执行gitcommitxxx的。本地分支:已经gitcommit-mxxx提交到本地分支的。远程分支:gitpushoriginHEAD:refs/for/ma......
  • [oeasy]python0075_删除变量_del_delete_variable
    删除变量回忆上次内容上次我们研究了字节序字节序有两种 符号英文名称中文名称<little-endian小字节序>big-endian大字节序字节序用来明确整型数字存储的顺序 如果读写数字出了错......
  • 使用EasyExcel异步导出excel技术方案
    主线程:处理请求响应,同时开启子线程,让子线程处理导出任务子线程:将导出的文件写入到磁盘临时文件,临时文件上传到oss中获取上传文件的url路径,记录url路径到数据库中,最后再删除临时文件通过单独一个页面查询导出文件流水的列表,进行下载文件代码实现线程池配置@Componentpublic......
  • 开源视频监控管理平台国标GB28181视频EasyCVR电子地图功能展示优化
    视频汇聚平台EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。视频监控综合管理平台EasyCVR可提供的视频能力包括:视频监控直播、云端录像、云存储、录像检索与回......
  • AI视频监控综合管理平台EasyCVR多分屏默认播放协议的配置优化
    视频监控综合管理平台EasyCVR具备视频融合汇聚能力,TSINGSEE青犀视频平台基于云边端一体化架构,可支持多协议、多类型设备接入,包括:NVR、IPC、视频编码器、无人机、车载设备、智能手持终端、移动执法仪等。国标GB28181视频平台EasyCVR具有强大的数据接入、处理及分发能力,可在复杂的网......
  • 安装easy_install 和ipython
    从链接http://pypi.python.org/pypi/setuptools#downloads处获得相应的版本运行shsetuptools-0.6c9-py2.4.egg(跟用户权限,若没有可以指定--prefix=~)安装完毕对python2.6可运行下面代码:#!/bin/bash#wgethttp://pypi.python.org/packages/2.6/s/......
  • EaselJS 源码分析系列--第四篇
    鼠标交互事件前几篇关注的是如何渲染,那么鼠标交互如何实现呢?Canvascontext本身没有像浏览器DOM一样的交互事件EaselJS如何在canvas内实现自己的鼠标事件系统?原理大致如下:Stage类内的canvas监听标准DOM鼠标事件(比如:mousedown),window或document对象下监听......