JTA的含义及应用简介
2019獨角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
? Java Transaction API(Java事務(wù)API) (JTA)Java Transaction API(Application Programming Interface)
什么是JTA Transaction?它有怎樣的特點呢?JTA Transaction是指由J2EE Transaction manager去管理的事務(wù)。其最大的特點是調(diào)用UserTransaction接口的begin,commit和rollback方法來完成事務(wù)范圍的界定,事務(wù)的提交和回滾。JTA Transaction可以實現(xiàn)同一事務(wù)對應(yīng)不同的數(shù)據(jù)庫,但是它仍然無法實現(xiàn)事務(wù)的嵌套。
分布式事務(wù)的規(guī)范由OMG的OTS所描述。
JTA是只是一組java接口用于描述,J2ee框架中事務(wù)管理器與應(yīng)用程序,資源管理器,以及應(yīng)用服務(wù)器之間的事務(wù)通訊。
它主要包括高層接口即面向應(yīng)用程序的接口;XAResource接口即面向資源的接口;以及事務(wù)管理器的接口。值得注意的是JTA只提供了接口,沒有具體的實現(xiàn)。
JTS是服務(wù)OTS的JTA的實現(xiàn)。簡單的說JTS實現(xiàn)了JTA接口,并且符合OTS的規(guī)范。
資源管理器只要其提供給事務(wù)管理器的接口符合XA接口規(guī)范,就可以被事務(wù)管理器處理。
所以,JTA可以處理任何提供符合XA接口的資源。包括:數(shù)據(jù)庫,JMS,商業(yè)對象等等
“Java 事務(wù) API”(JTA)啟用兩階段提交功能。當(dāng)配置 WebSphere Application Server 以訪問數(shù)據(jù)庫時,可選擇具有 JTA 能力的驅(qū)動程序。如果需要兩階段提交功能,則必須使用啟用 JTA 的驅(qū)動程序。
只要您在事務(wù)中調(diào)用了多個數(shù)據(jù)庫連接,就需要 JTA。只要您在事務(wù)中調(diào)用了多個數(shù)據(jù)庫服務(wù)器,就需要兩階段提交。這些連接可以是相同的物理數(shù)據(jù)庫服務(wù)器或多個數(shù)據(jù)庫服務(wù)器。例如:
* 實體企業(yè) Bean Entity1 在應(yīng)用程序服務(wù)器 AppServer1 中部署。
* 實體企業(yè) Bean Entity2 在應(yīng)用程序服務(wù)器 AppServer1 中部署。
* 會話企業(yè) Bean Session1 在應(yīng)用程序服務(wù)器 AppServer1 中部署。
如果 Session1 對同一事務(wù)內(nèi)的 Entity1 和 Entity2 調(diào)用了方法而這兩個企業(yè) Bean 正在使用不同的物理數(shù)據(jù)庫連接,則必須對 Entity1 和 Entity2 使用的數(shù)據(jù)源啟用 JTA。當(dāng)從相同的數(shù)據(jù)源對象獲取那些連接時,這也是成立的。這需要具有 JTA 能力的驅(qū)動程序以提交事務(wù)。
當(dāng)事務(wù)涉及到多個進(jìn)程時,JTA 也是必需的。例如,一個事務(wù)可能會涉及在多個應(yīng)用程序服務(wù)器中部署的企業(yè) Bean。
* 實體企業(yè) Bean Entity1 在應(yīng)用程序服務(wù)器 AppServer1 中部署。
* 實體企業(yè) Bean Entity2 在應(yīng)用程序服務(wù)器 AppServer2 中部署。
* 會話企業(yè) Bean Session1 在應(yīng)用程序服務(wù)器 AppServer1 中部署。
如果 Session1 對同一事務(wù)(此事務(wù)構(gòu)成一個分布式事務(wù))內(nèi)的 Entity1 和 Entity2 調(diào)用了方法,則必須對 Entity1 和 Entity2 使用的數(shù)據(jù)源啟用 JTA。
性能實現(xiàn)JTA 啟用的連接與非 JTA 啟用的連接執(zhí)行情況不同。基于此原因,如果您的應(yīng)用程序不需要 JTA,則最好使用非 JTA 啟用的驅(qū)動程序。
其它信息有關(guān) WebSphere Application Server 如何支持 JTA 的信息,參見 WebSphere Application Server 和 DB2 UDB iSeries 版的事務(wù)處理及其子主題。
轉(zhuǎn)載于:https://my.oschina.net/crazyinsomnia/blog/2595
總結(jié)
以上是生活随笔為你收集整理的JTA的含义及应用简介的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到自己的老公和女儿是什么意思
- 下一篇: ×××常见问题原因与解决