使用Atomikos Transactions Essentials实现多数据源JTA分布式事务--转载
原文:http://www.ite/topic/122700
9.17 update:使用NonXADataSourceBean. Mysql在5.0版本和Connecter/J5.0版本后提供了XADatasource支持,如果使用了支持XADatasouce版本,可以參考2樓補充.?
最近做的project中遇到要將數(shù)據(jù)庫中的表分布到兩臺不同的服務(wù)器上的Mysql5.0中,project主要使用spring+ibatis。因此需要JTA的支持,但是tomcat不支持,所以就搜索開源的JTA實現(xiàn)。
最開始使用的是JOTM,但是使用中不能自動rollback,無論什么情況都commit。然后看到infoq上一篇文章提到Atomikos Transactions Essentials,Atomikos Transactions Essentials 3.0是Atomikos 開發(fā)的核心事務(wù)引擎,支持JDBC 以及JMS 的JTA/XA 事務(wù)。易于部署,輕量級,同時支持JDBC 以及JMS 。
Atomikos Transactions Essentials現(xiàn)在的版本是3.1.7,可以在http://www.atomikos.com/Main/TransactionsEssentialsDownloadForm?下載,在發(fā)布包里的examples文件夾下面有些例子,非常實用,我在使用中參考里面的例子很容易配置成功。先將發(fā)布包里面dist目錄下的atomikos-util.jar,transactions.jar,transactions-api.jar,transactions-jta.jar copy到項目lib里面, 如果使用hibernate則需要將另外兩個hibernate相關(guān)的jar頁copy到項目里面,spring配置文件如下:
事務(wù)的配置, 使用了spring2.0的語法,所以將namesapce也帖出來了.
這樣配置以后就可以使用分布式事務(wù),測試中出現(xiàn)異常時事務(wù)也自動提交。和JOTM相比Atomikos Transactions Essentials更加穩(wěn)定,它原來是商業(yè)項目,現(xiàn)在開源了。象mysql一樣賣服務(wù)支持的。而且論壇頁比較活躍,有問題很快可以解決。
轉(zhuǎn)載于:https://www.cnblogs.com/davidwang456/p/4353209.html
總結(jié)
以上是生活随笔為你收集整理的使用Atomikos Transactions Essentials实现多数据源JTA分布式事务--转载的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nginx自定义模块编写-实时统计模块-
- 下一篇: Dubbo入门实例--转载