如何处理两个不同的应用程序服务器中的Spring事务

时间:2016-06-02 21:07:29

标签: spring-transactions

截至目前,我对Spring Transaction有很好的了解,并且成功实现了Spring事务与一个应用服务器并且事务处理正常。但是想知道我们当时是否有两个不同的应用服务器如何使用spring transaction。作为我的了解spring transaction只支持一个带有一个或两个数据源的应用服务器。伙计们请在这种情况下给出建议。

提前致谢

1 个答案:

答案 0 :(得分:0)

它几乎相同,在两个应用服务器的情况下你需要两个数据源对象,那里有两个会话工厂和两个事务管理器。执行交易时,您始终可以选择要使用的交易。

For ex:  Two data sources :-
1.@Autowired @Qualifier("firstAppServerDBConnection")
DataSource oracleDataSource
2.
@Autowired
@Qualifier("secondAppServerDBConnection")
DataSource mySqlDataSource
Two Session Factory
1.
@Autowired
@Qualifier("firstAppServeroracleSessionFactory")
SessionFactory oracleSessionFactory
2.
@Autowired
@Qualifier("secondAppServermySqlSessionFactory")
SessionFactory mySqlSessionFactory

两位交易经理:

事务管理器相同

Imp方法可以帮助您:

LocalSessionFactoryBean.setDataSource(passDataSource) -- For Dif   SessionFactory
HibernateTrasnactionManager.setSessionFactory(passSessionFactory) - For Diff   Trasnaction

希望它有道理