@TransactionalEventListener源码

文章目录

  • 前言
  • TransactionalEventListener
  • 异曲同工

前言

  前几天我跟同事说他代码里面在事务还没提交的时候就进行删除缓存,一定几率会出现bug,就是删除缓存之后,事务还没提交,然后小程序端将旧数据放到缓存中。

  他是使用spring事件去实现的 then 他将@EventListener换成@TransactionalEventListener

TransactionalEventListener

@TransactionalEventListener源码_第1张图片
继承ApplicationListenerMethodAdapter跟@EventListener实现是一致的。在onApplicationEvent执行事件逻辑。
@TransactionalEventListener源码_第2张图片
在这里添加事务同步管理器添加监听器。
@TransactionalEventListener源码_第3张图片
@TransactionalEventListener源码_第4张图片
在事务执行完之后进行处理event事件。

异曲同工

  • 基于函数式接口实现spring事务提交之后再执行的操作

你可能感兴趣的:(@TransactionalEventListener源码)