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