首页 > 其他分享 >手工调用Transaction

手工调用Transaction

时间:2023-12-26 14:11:43浏览次数:28  
标签:Transaction 手工 transactionDefinition transaction 调用 PlatformTransactionManager n

除了用 @Transactional 外还可以手工调用

PlatformTransactionManager transactionManager = (PlatformTransactionManager)SpringBeanUtil.getBean(PlatformTransactionManager.class);
        DefaultTransactionDefinition transactionDefinition = new DefaultTransactionDefinition();
        transactionDefinition.setPropagationBehavior(Propagation.REQUIRED.value());
        TransactionStatus transaction = null;

        Object result;
        try {
            transaction = transactionManager.getTransaction(transactionDefinition);
           // 业务代码
            transactionManager.commit(transaction);
            
        } catch (Exception ex) {
            if (null != transaction && !transaction.isCompleted()) {
                transactionManager.rollback(transaction);
            }

            throw ex;
        } finally {
            if (null != transaction && !transaction.isCompleted()) {
                transactionManager.rollback(transaction);
            }

        }

 

标签:Transaction,手工,transactionDefinition,transaction,调用,PlatformTransactionManager,n
From: https://www.cnblogs.com/zhshlimi/p/17928008.html

相关文章

  • GB28181视频监控平台LiteCVR调用rtsp地址返回的IP不正确原因排查
    RTSP(Real-TimeStreamingProtocol)是一种用于控制实时流媒体传输的应用层协议。它被设计用于建立和管理客户端与媒体服务器之间的连接,以便实现实时音频、视频或其他交互式媒体内容的传输。RTSP允许客户端通过发送命令来控制流媒体服务器的播放、暂停、快进、倒带等操作。RTSP支持......
  • Windows环境 CMake 配置C++调用Python
    #CMakeLists.txtadd_library(python3STATICIMPORTED)#这里是使用python的安装路径set_target_properties(python3PROPERTIESIMPORTED_LOCATION"D:/python/libs/python39.lib")#使用python的静态库target_link_libraries(TestDemo......
  • 【木棉花】#星计划#在HarmonyOS中调用百度翻译API
    介绍通过http请求和HarmonyOS自带的加密框架,可以为移动应用实现调用百度翻译API的功能。完整示例完整示例链接开发环境要求● DevEcoStudio版本:DevEco Studio 3.1 Release● HarmonyOSSDK版本:API version 9工程要求●API9● Stage模型正文代码结构......
  • Unity3D 中正确调用CUDA程序详解
    Unity3D是一款强大的游戏开发引擎,可以实现各种各样的游戏效果。然而,在某些情况下,使用CPU来处理游戏中的复杂计算任务可能会导致性能瓶颈。为了解决这个问题,我们可以利用CUDA来使用GPU进行并行计算,从而提高游戏的性能。对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习游戏的......
  • 列表循环 带有栏目的调用
    <!--foreach:{$loop$vo}--><articleclass="excerpt"><aclass="focus"href="{$vo.aurl}"><!--if:{$vo['image']==''}--><imgsrc="__TPL__static/imag......
  • 在Spring Cloud中实现Feign声明式服务调用客户端
    如果你学过SpringCloud,你应该知道我们可以通过OpenFeign从一个服务中调用另一个服务,我们一般采用的方式就是定义一个Feign接口并使用@FeignClient注解来进行标注,feign会默认为我们创建的接口生成一个代理对象。当我们在代码中调用Feign接口的方法的时候,实际上就是在调用我们Feign......
  • 基于TigerBot-13b训练其函数调用能力
    写在前面原生的tigerbot似乎并不支持函数调用,于是我来支持一下 数据集我在huggingface上找了个英文的数据集https://huggingface.co/datasets/sadmoseby/sample-function-call这里面包含了1k组的函数调用,这个数据集的特点如下:1.包含有单个/多个/没有函数调用的情形2.......
  • 慢调用链诊断利器-ARMS 代码热点
    作者:铖朴、义泊可观测技术背景从最早的Google发表的一篇名为《Dapper,aLarge-ScaleDistributedSystemsTracingInfrastructure》的论文开始,到后来以:Metrics(指标)、Tracing(链路追踪)以及Logging(日志)三大方向互为补充的可观测解决方案逐渐被业界所接受并成为事实标准。基......
  • Spring基于XML的事务管理器DataSourceTransactionManager
    Spring基于XML的事务管理器DataSourceTransactionManager源码代码测试pom.xml<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instan......
  • Hessian——轻量级远程调用方案
    Hessian——轻量级远程调用方案转载自:https://www.cnblogs.com/lyhero11/p/5277583.htmlHessian是caucho公司开发的一种基于二进制RPC协议(RemoteProcedureCallprotocol)的轻量级远程调用框架。具有多种语言的实现,但用的最多的当然是Java实现:)CreatingaHessianservi......