【发布时间】:2021-10-27 17:40:25
【问题描述】:
我有一个使用几个@TransactionalEventListener(phase = TransactionPhase.AFTER_COMMIT) 的spring boot 应用程序。我注意到当它们最终抛出异常时,spring boot 不会为它们做任何异常日志记录。
因此,我想为此类异常添加一些通用日志记录工具。我发现TransactionalApplicationListener.SynchronizationCallback是我需要实现的接口。然而,注册这些回调似乎很复杂。我没有在 spring 依赖项中找到任何可以实现此目的的 TransactionalApplicationListener#addCallback 调用。
尝试获取TransactionalApplicationListener 和SynchronizationCallback 注入的列表,然后在@PostConstruct 中调用addCallback 并没有让我更进一步,因为即使应用程序确实成功使用,也始终没有注入侦听器其中。
那么如何在spring boot应用启动时将SynchronizationCallbacks添加到TransactionalApplicationListeners呢?
【问题讨论】:
标签: java spring spring-boot