@TransactionalEventListener不生效
在实际的开发中,使用 @TransactionalEventListener,原以为提交事件的方法的事务提交后才会触发,实际使用却发现,并非如此。
表现为查不到提交事件的方法数据修改结果。
实际使用中还需要定义一下监听方法的事务传播策略(总是新建)和事务隔离策略(读未提交),具体注解如下:
@TransactionalEventListener(fallbackExecution = true, value = SomeEvent.class) @Async @Transactional(propagation = Propagation.REQUIRES_NEW,isolation = Isolation.READ_UNCOMMITTED) public void someMethod(SomeEventevent) { }
耽搁了很久才发现,可能自己理解不到位,以后有时间再看代码了解一下。
暂记于此,以备后续查阅。