在我的应用程序中集成 2 个不同的 API 时,我遇到了一个问题。问题是他们使用具有不同数据源 (MSSQL) 和事务模板的不同 Spring 事务管理器。Spring 事务管理器是以编程方式创建的,而不是使用 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
}
}
所以我的问题是,是否可以在一个事务中执行这些查询?如何?