当我在@Transactional
和@Retryable(value = StaleStateException.class) method foo()
的末尾发布CustomEvent时,它是如何处理的?@TransactionalEventListener,@Transactional和@Retryable流程
如果我在方法执行后提交期间得到StaleStateException
,那么@TransactionalEventListener(phase = TransactionPhase.AFTER_COMMIT)
将不会调用,而@Retryable
Spring将第二次调用foo()
。在这种情况下,第一个CustomEvent
的生命周期是什么?它会被清理吗?或者在第二次成功拨打foo()
后,@TransactionalEventListener()
会被调用两次?