Spring事务失效问题
发表于|更新于|全是BUG
|浏览量:
Spring中事务失效问题
问题描述
在项目中某个业务中,需要调用自身服务的另一个接口,被调用方函数的事务就会失效
问题分析
在Spring中事务是通过AOP切片控制的,在同一个类中调用方法会隐式的使用 this.调用而不是spring的切片方法
解决方法
获取Spring的AOP代理对象进行方法调用,这样就可以保证事务切片正常运行
文章作者: sunsetsouol
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Coding Road!
相关推荐

2025-02-17
Mysql日期转换异常
MySQL的datetime和Java的LocalDateTime转换失败报错信息如下1234567891011121314org.springframework.dao.InvalidDataAccessApiUsageException: Error attempting to get column 'time' from result set. Cause: java.sql.SQLFeatureNotSupportedException; null; nested exception is java.sql.SQLFeatureNotSupportedException at org.springframework.jdbc.support.SQLExceptionSubclassTranslator.doTranslate(SQLExceptionSubclassTranslator.java:96) at...

2025-02-17
websocket获取SpringSecurity异常
Websocket获取SpringSecurity用户信息失败问题问题描述项目中将用户的信息保存在SpringSecurity的安全上下文中,通过安全上下文获取用户id,但是在Websockt中 UserDetailsImpl userDetails = (UserDetailsImpl) SecurityContextHolder.getContext().getAuthentication().getPrincipal();发生空指针报错 问题分析WebSocket 协议与 HTTP 协议是不同的,它们是两种独立的协议,SpringSecurity是基于http协议的安全框架,所以websocket无法获取SpringSecurity中的安全上下文 解决方法ws是通过http协议升级而成的,所以可以在握手期间将安全上下文设置在会话的attribute中,然后ws通过attribute获取信息 12345678910111213public class WebsocketInterceptor implements HandshakeInterceptor...

2025-02-17
记一次@Builder引发的BUG
记一次@Builder引发的Bug问题描述:使用MybatisPlus的selectOne方法搜索一个User类时报错 1234567org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: java.lang.IndexOutOfBoundsException: Index: 1, Size: 1### The error may exist in com/qgStudio/pedestal/mapper/UserMapper.java (best guess)### The error may involve com.qgStudio.pedestal.mapper.UserMapper.selectOne### The error occurred while handling results### SQL: SELECT ...

2025-02-17
记一次小学问开发数据库异常
AI-Learning一次bug背景和排查bug出现在实践课代码提交接口上,源代码为 12while True: print(1) 运行是没有问题的,提交到judge0可以正常拿到token,用token也能正常拿到结果,问题出在存储到数据库的过程中,因为上述循环输出结果太长,把mysql的text撑爆了 导致提交记录一直没有更新,一直处于提交中的状态 这里可以去查一下mysql的text长度上限是多少 TEXT 65,535 bytes ~64kb MEDIUMTEXT 16,777,215 bytes ~16Mb LONGTEXT 4,294,967,295 bytes ~4Gb 所以在插入数据库前需要判断截断,做特殊处理 反思任何跟数据库相关的数据在落库之前一定要做校验,不止是从用户端拿来的数据还是调用第三方接口得到的用户,还有就是除了数据正确性外,还要注意数据长度

2025-02-17
运行jar包没有主属性清单
运行jar包没有主属性清单问题描述java程序打jar包通过java -jar命令运行的时候报错没有主属性清单 问题分析出现这个报错主要就是两个原因: 缺少了项目maven打包插件 spring-boot-maven-plugin。 没有指定具体的项目的Main方法入口或启动类。 解决方案1.pom.xml文件中添加以下代码 12345678910111213141516171819202122232425262728<!-- 打包格式 --> <packaging>jar</packaging> <!-- 打包插件 --> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> ...