在我的项目中有多个数据源,每个数据源对应一个事务管理器,它们共享一个方面。现在我的项目中出现了一个问题:在提交事务之后,需要处理一些逻辑,比如发送Mq消息。我尝试使用@TransactionalEventListener实现,但我发现在AbstractPlatformTransactionManager.processCommit(),中他监视其他事务的提交。我很困惑,有什么解决方案吗?如何使用@TransactionEventListener中的条件?Spring版本5.1.5发布
发布于 2021-03-31 16:18:36
我不确定这是否解决了您的问题,但是处理多个TransactionManagers的一种方法是在@Transactional注释中添加一个参数,告知要使用哪个TransactionManager:
public class TransactionalService {
@Transactional("order")
public void setSomething(String name) { ... }
@Transactional("account")
public void doSomething() { ... }
}https://stackoverflow.com/questions/66883928
复制相似问题