@transactionaleventlistener如何绑定transactionmanager

b1uwtaje  于 2021-07-13  发布在  Java
关注(0)|答案(1)|浏览(367)

这个问题在这里已经有答案了

spring-是否可以在同一个应用程序中使用多个事务管理器(2个答案)
27天前关门了。
我的项目中有多个数据源,每个数据源对应一个事务管理器,它们共享一个方面。现在在我的项目中有一个问题:提交事务后需要处理一些逻辑,例如发送mq消息。我尝试使用@transactionaleventlistener实现,但发现在abstractplatformtransactionmanager.processcommit()中,他监视其他事务的提交。我很困惑,有什么解决办法吗?如何使用@transactioneventlistener中的条件?spring版本5.1.5.0发布

k0pti3hp

k0pti3hp1#

我不确定这是否解决了您的问题,但处理多个TransactionManager的一种方法是向 @Transactional 说明要使用哪个transactionmanager的注解:

public class TransactionalService {

    @Transactional("order")
    public void setSomething(String name) { ... }

    @Transactional("account")
    public void doSomething() { ... }
}

请看https://docs.spring.io/spring-framework/docs/4.2.x/spring-framework-reference/html/transaction.html#tx-有关详细信息,请参阅具有attransactional的多个tx mgr。

相关问题