首页 > 其他分享 >spring事务失效情况

spring事务失效情况

时间:2024-07-04 15:19:46浏览次数:22  
标签:事务 管理器 spring Transactional Spring 失效 方法 注解

Spring事务可能在以下几种情况下失效:

  1. 非托管代码:如果在事务管理的边界之外调用业务方法,那么事务将不会生效。例如,在同一个类中调用一个被@Transactional注解的方法,由于方法调用是在同一栈帧内,因此不会触发AOP代理,也就无法实现事务。

  2. 异常被捕获并处理:如果在业务逻辑中出现异常,但是这个异常被捕获并进行了处理,没有抛出,那么Spring事务将不会回滚。

  3. 使用了错误的传播行为:@Transactional注解中有一个属性叫做propagation,如果设置不当,可能导致事务行为不符合预期。例如,如果设置为PROPAGATION_NOT_SUPPORTEDPROPAGATION_NEVER,则事务将不会开启。

  4. 未正确配置事务管理器:如果在Spring配置中没有正确配置事务管理器,或者配置的事务管理器与数据源不匹配,那么事务将不会生效。

  5. 使用了错误的隔离级别:虽然这不会导致事务完全失效,但是可能会导致事务的行为不符合预期。

  6. 数据源不支持事务:例如,一些JDBC驱动或数据库不支持事务,那么即使你尝试使用Spring事务,也可能无法达到预期的效果。

  7. 异步方法:如果一个方法被@Async注解标记为异步执行,那么@Transactional注解将不会生效,因为异步方法会在一个新的线程中执行,而事务是基于当前线程的。

  8. 错误的读取策略:如果使用了错误的读取策略(如readOnly),可能会导致事务无法按照预期工作。例如,如果一个方法被标记为只读,但在该方法中执行了写操作,那么事务可能不会正常工作。

标签:事务,管理器,spring,Transactional,Spring,失效,方法,注解
From: https://www.cnblogs.com/use-D/p/18283915

相关文章

  • SpringBoot拦截器中获取注解、拦截器中注入Service
    拦截器中获取注解来源:https://blog.csdn.net/wangmx1993328/article/details/81030268/publicclassJWTInterceptorimplementsHandlerInterceptor{privateSysSettingServicesysSettingService;//构造函数传入ServicepublicJWTInterceptor(SysSettingServ......
  • 基于java+springboot+vue实现的校园外卖服务系统(文末源码+Lw)292
    摘   要传统信息的管理大部分依赖于管理人员的手工登记与管理,然而,随着近些年信息技术的迅猛发展,让许多比较老套的信息管理模式进行了更新迭代,外卖信息因为其管理内容繁杂,管理数量繁多导致手工进行处理不能满足广大用户的需求,因此就应运而生出相应的校园外卖服务系统。本......
  • 基于java+springboot+vue实现的宠物商城网站(文末源码+Lw)273
    摘   要传统信息的管理大部分依赖于管理人员的手工登记与管理,然而,随着近些年信息技术的迅猛发展,让许多比较老套的信息管理模式进行了更新迭代,商品信息因为其管理内容繁杂,管理数量繁多导致手工进行处理不能满足广大用户的需求,因此就应运而生出相应的宠物商城网站。本宠物......
  • SpringBoot自动装配
     没有SpringBoot的情况下,如果我们需要引入第三方依赖,需要手动配置,非常麻烦。但是,SpringBoot中,我们直接引入一个starter即可。比如你想要在项目中使用redis的话,直接在项目中引入对应的starter即可。<dependency><groupId>org.springframework.boot</groupId......
  • springMVC @ResponseBody 原理
    前面说了适配器执行handler怎么解析请求参数,现在看怎么响应参数,还是从具体执行handler的方法开始//org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod#invokeAndHandlepublicvoidinvokeAndHandle(ServletWebRequestwebRequest,M......
  • 基于Java+Jsp+Springmvc+Mybatis3+Mysql实现的SSM个人博客系统设计与实现
    一、前言介绍:1.1项目摘要随着互联网技术的快速发展和普及,个人博客作为一种表达自我、分享知识和经验的方式,受到了越来越多人的青睐。传统的博客平台虽然提供了丰富的功能和便捷的服务,但往往难以满足个性化、定制化的需求。因此,开发一款基于SSM(Spring+SpringMVC+MyBat......
  • springboot项目国产化适配,jar改war包碰到的坑-tomcat版本要适配(非法访问:此Web应用程序
    项目原来是jar包运行,国产化适配要改成war包。可以参考https://blog.csdn.net/NAMELZX/article/details/138123405或者其他jar 改成 war 的文章。改成war后,在本地tomcat8上运行,一直报org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading非法......
  • springboot基于web的酒店客房管理系统
    文章目录目录文章目录论文目录项目介绍开发环境系统实现论文参考论文目录1系统概述1.1研究背景1.2研究目的1.3系统设计思想2相关技术2.1 MYSQL数据库2.2 B/S结构2.3 SpringBoot框架简介2.4 VUE框架简介3系统分析3.1可行性分析3.1.1技术......
  • springboot+伊犁地区游客小助手-小程序-计算机毕设定制-附项目源码(可白嫖) 20888
    摘 要提起伊犁,很多人常说,不去新疆,你就不知道中国有多美,不去伊犁,你就不知道新疆有多美。在这里你可以看到中国最美的景色。如果可可托海海是一个野性和粗犷的战士,那么那拉提一定是一个温柔和玉般的绅士。新疆的南边给了它不同寻常的品质。赛里木湖位于新疆西部的博尔塔拉县......
  • Jmeter性能监控之【事务响应时间、不同时间吞吐量、点击率、每秒处理事务数】
        日常性能测试报告中除了聚合报告相关压测数据结果外,部分甲方仍要求提供事务运行响应时间(ResponseTimesOverTime)、不同时间吞吐量(BytesThroughputOverTime)、点击率(HitsperSecond)、每秒处理事务数(TransactionsperSecond)相关信息图表,压测之前可以在测试计划下添......