- 博客(10)
- 收藏
- 关注
原创 @TransactionalEventListener 失效
status == STATUS_UNKNOWN-> newTransaction = false -> transactionActive=true -> ThreadLocal 获取当前线程的 ConnectionHolder.transactionActive=true-> 第一次进入切面会把 ConnectionHolder .transactionActive=true 设置到 ThreadLoacl 中。通过分析发现 status.isNewTransaction() = false。
2024-03-07 15:49:33
2644
2
原创 mybatis整合spring 是怎样获取到 spring 创建的连接(connection )
到此就可以知道,在同一个线程中 获取 connection 和 设置都是通过 TransactionSynchronizationManager.resources 操作的,只有 key 相同(也就是datesource 是同一个对象)获取到的 connection 是一致的,只有当mybaties 获取到的 connection 与 spring 创建的 connection 为同一个时 ,spring事务才会生效。
2024-03-07 14:29:04
1158
1
原创 @Transaction与@Async 循环依赖错误 ,@Lazy 是怎么解决这个错误的
@Transaction与@Async 循环依赖错误 ,@Lazy 是怎么解决这个错误的
2022-06-23 15:38:10
868
原创 接口无实现 ,动态代理Dome
mybaties 是怎么实现动态代理无实现的接口的创建DAO接口package com.tang.xx.web.vo.mente.param;import org.apache.ibatis.annotations.Insert;import org.apache.ibatis.annotations.Update;public interface UserDao { @Insert("") int add(String name); @Update("")
2020-12-14 14:59:00
248
原创 抽象类无实现,动态代理Dome
采用 javassist 实现创建抽象类package com.eyedsion.his.web.vo.mente.entity;/** * 这是抽象类 */public abstract class AbstractUser { public void sayHi(){ System.out.println("AbstractUser 的 sayHi方法执行"); } /** * 这是抽象方法 */ public abs
2020-12-14 14:57:33
1460
1
原创 RabbitMq 实现消息延迟利用死信队列实现
最近项目遇到一个需求,判断每个用户是否过期,每个用户的过期时间还不一样,简单的定时任务判断能满足,于是就想到了rabbitMq 的延时消息,它可以给没一天消息定一个发送时间(其实是过期时间),背景交代完成,直接上代码(保密关系 package 用 xxxx 代替)rabbitMq 配置类package com.xxxx.config;import org.springframework.amqp.core.*;import org.springframework.context.annotat
2020-09-24 16:16:23
135
原创 springBoot + quartz 动态添加,修改,删除,查看,有效时间段
**网上很多关于 quartz 动态的改动的文章,但是很多都没有结合springBoot ,还有 jobService(定时任务类)类 必须继承 Job 或者 Runnable ,这样代码不同灵活 ,现在写一遍解决这些问题的记录文章,记录一下解决方式。**pom 导入quartz pom文件 <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz<
2020-09-24 15:16:29
639
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅