首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >@TransactionalEventListener如何绑定TransactionManager

@TransactionalEventListener如何绑定TransactionManager
EN

Stack Overflow用户
提问于 2021-03-31 16:05:44
回答 1查看 134关注 0票数 1

在我的项目中有多个数据源,每个数据源对应一个事务管理器,它们共享一个方面。现在我的项目中出现了一个问题:在提交事务之后,需要处理一些逻辑,比如发送Mq消息。我尝试使用@TransactionalEventListener实现,但我发现在AbstractPlatformTransactionManager.processCommit(),中他监视其他事务的提交。我很困惑,有什么解决方案吗?如何使用@TransactionEventListener中的条件?Spring版本5.1.5发布

EN

回答 1

Stack Overflow用户

发布于 2021-03-31 16:18:36

我不确定这是否解决了您的问题,但是处理多个TransactionManagers的一种方法是在@Transactional注释中添加一个参数,告知要使用哪个TransactionManager:

代码语言:javascript
复制
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-multiple-tx-mgrs-with-attransactional

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66883928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档