@TransactionalEventListener不生效

在实际的开发中,使用 @TransactionalEventListener,原以为提交事件的方法的事务提交后才会触发,实际使用却发现,并非如此。

表现为查不到提交事件的方法数据修改结果。

实际使用中还需要定义一下监听方法的事务传播策略(总是新建)和事务隔离策略(读未提交),具体注解如下:

    @TransactionalEventListener(fallbackExecution = true, value = SomeEvent.class)
    @Async
    @Transactional(propagation = Propagation.REQUIRES_NEW,isolation = Isolation.READ_UNCOMMITTED)
    public void someMethod(SomeEventevent)  {

    }

耽搁了很久才发现,可能自己理解不到位,以后有时间再看代码了解一下。

暂记于此,以备后续查阅。

posted @ 2022-04-12 18:59  剑握在手  阅读(1875)  评论(0编辑  收藏  举报
返回顶部↑