在我的应用程序中集成2个不同的API时,我遇到了一个问题。问题是他们正在使用具有不同数据源(MSSQL)和不同数据源的不同Spring事务管理器。交易模板。 Spring tranasction manager是以编程方式创建的,而不是bean。
以下是该方法的摘录:
public void f(){
...
getManager().deployWorkingCopy(userId, toDeploy); //API1, TransactionManager1, DataSource1
List<User> users = umApi.loadAllUsers();
List<Group> groups = umApi.loadAllGroups();
for(User user : users){
umSynchronization.synchronizeUser(user); //API2, TransactionManager2, DataSource2
}
for(Group group : groups){
umSynchronization.synchronizeGroup(group); //API2, TransactionManager2, DataSource2
}
}
所以我的问题是,是否可以在一个事务中执行这些查询?怎么样?