首页 > 解决方案 > 我可以将相同的@transaction 与许多 applicationContext 一起使用吗?

问题描述

我正在开发一个项目。在那我有很多applicationContext。我需要对多个 appplicationContext 使用相同的事务。如果有任何错误,我将从每个 applicationContext 回滚我的事务。

示例:我有一个applicationContext A和第二个applicationContext B。从applicatioContext C,我需要更新A和B中的一些DB值。所以我在ApplicationContext C类中启动一个@transaction并调用A和B的方法。

如果出现任何错误/异常,那么我想回滚机器人 ApplicationContext DB 更改。

例子:

@service
Class C{

    @Transactional(rollbackFor = Exception.class)
    public MethodC(){
         ApplicationConext a = applicationContextA.getBean(Adb.class);
         ApplicationConext b = applicationContextA.getBean(bdb.class);
         a.someChangeINDB();
         b.someChangeINDB();
    }
}

标签: springspring-transactions

解决方案


推荐阅读