<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    鷹翔宇空

    學(xué)習(xí)和生活

    BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
      110 Posts :: 141 Stories :: 315 Comments :: 1 Trackbacks
    引自:http://act.it.sohu.com/book/chapter.php?id=387&volume=4&chapter=2

    應(yīng)用程序服務(wù)器

      應(yīng)用程序服務(wù)器是事務(wù)處理操作的另一個(gè)組件。應(yīng)用程序服務(wù)器處理大部分的應(yīng)用程序操作并且獲得最終用戶應(yīng)用程序的一些負(fù)載?;谇懊娴睦?,我們可以看出應(yīng)用程序服務(wù)器在事務(wù)處理上添加了另一個(gè)操作層:


      到目前為止,我們的例子說明了單個(gè)的本地事務(wù)處理,并且描述了分布式事務(wù)處理模型的五個(gè)組件中的四個(gè)。第五個(gè)組件,事務(wù)管理程序只有當(dāng)事務(wù)將要被分配的時(shí)候才會(huì)開始被考慮。

      分布式事務(wù)處理和事務(wù)管理程序

      像我們前面所提到的,一個(gè)分布式事務(wù)處理是一個(gè)在兩個(gè)或更多網(wǎng)絡(luò)資源上訪問和更新數(shù)據(jù)的事務(wù)處理。

      這些資源可以由好幾個(gè)位于一個(gè)單獨(dú)服務(wù)器上的不同的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)組成,比如說Oracle、SQL Server和Sybase;它們也可以包含存在于若干不同的服務(wù)器上的同一種數(shù)據(jù)庫的若干個(gè)實(shí)例。在任何情況下,一個(gè)分布式事務(wù)處理包括各種的資源管理程序之間的協(xié)同作用。這個(gè)協(xié)同作用是事務(wù)管理函數(shù)。

      事務(wù)管理程序負(fù)責(zé)作出要么提交(commit)要么退回(rollback)任何分布式事務(wù)處理的決定。一個(gè)提交決定應(yīng)該導(dǎo)致一個(gè)成功的事務(wù)處理;而退回操作則是保持?jǐn)?shù)據(jù)庫中的數(shù)據(jù)不變。 JTA指定一個(gè)分布式事務(wù)處理中的事務(wù)管理程序和另一個(gè)組件之間的標(biāo)準(zhǔn)Java接口:應(yīng)用程序,應(yīng)用程序服務(wù)器和資源管理程序。 這個(gè)關(guān)系被顯示在下面的圖表中:



      在事務(wù)管理程序周圍的數(shù)字框框相應(yīng)于JTA的三個(gè)接口部分:

      1—UserTransaction—javax.transaction.UserTransaction接口提供能夠編程地控制事務(wù)處理范圍的應(yīng)用程序。 javax.transaction.UserTransaction方法開啟一個(gè)全局事務(wù)并且使用調(diào)用線程與事務(wù)處理關(guān)聯(lián)。

      2—Transaction Manager—javax.transaction.TransactionManager接口允許應(yīng)用程序服務(wù)器來控制代表正在管理的應(yīng)用程序的事務(wù)范圍。

      3—XAResource—javax.transaction.xa.XAResource接口是一個(gè)基于X/Open CAE Specification的行業(yè)標(biāo)準(zhǔn)XA接口的Java映射。

      注意,一個(gè)限制性環(huán)節(jié)是通過JDBC驅(qū)動(dòng)程序的XAResource接口的支持。JDBC驅(qū)動(dòng)程序必須支持兩個(gè)正常的JDBC交互作用:應(yīng)用程序和/或應(yīng)用程序服務(wù)器,而且以及JTA的XAResource部分。

      編寫應(yīng)用程序水平代碼的開發(fā)者不會(huì)關(guān)心分布式事務(wù)處理管理的細(xì)節(jié)。 這是分布式事務(wù)處理基本結(jié)構(gòu)的工作—應(yīng)用程序服務(wù)器、事務(wù)管理程序和JDBC驅(qū)動(dòng)程序。應(yīng)用程序代碼中唯一的需要注意的就是當(dāng)連接處于一個(gè)分布式事務(wù)范圍內(nèi)的時(shí)候,不應(yīng)該調(diào)用一個(gè)會(huì)影響事務(wù)邊界的方法。特別的是,一個(gè)應(yīng)用程序不應(yīng)該調(diào)用Connection方法commit、rollback和setAutoCommit(true),因?yàn)樗鼈儗⑵茐姆植际绞聞?wù)的基本結(jié)構(gòu)管理。

      分布式事務(wù)處理

      事務(wù)管理程序是分布式事務(wù)基本結(jié)構(gòu)的基本組件;然而JDBC驅(qū)動(dòng)程序和應(yīng)用程序服務(wù)器組件應(yīng)該具備下面的特征:

      驅(qū)動(dòng)程序應(yīng)該實(shí)現(xiàn)JDBC 2.0應(yīng)用程序接口,包括Optional Package接口XADataSource和XAConnection以及JTA接口XAResource。

      應(yīng)用程序服務(wù)器應(yīng)該提供一個(gè)DataSource類,用來實(shí)現(xiàn)與分布式事務(wù)基本結(jié)的交互以及一個(gè)連接池模塊(用于改善性能)。

      分布式事務(wù)處理的第一步就是應(yīng)用程序要發(fā)送一個(gè)事務(wù)請求到事務(wù)管理程序。雖然最后的commit/rollback決定把事務(wù)作為一個(gè)簡單的邏輯單元來對待,但是仍然可能會(huì)包括許多事務(wù)分支。一個(gè)事務(wù)分支與一個(gè)到包含在分布式事務(wù)中的每個(gè)資源管理程序相關(guān)聯(lián)。因此,到三個(gè)不同的關(guān)系數(shù)據(jù)庫管理的請求需要三個(gè)事務(wù)分支。每個(gè)事務(wù)分支必須由本地資源管理程序提交或者返回。事務(wù)管理程序控制事務(wù)的邊界,并且負(fù)責(zé)最后決定應(yīng)該提交或者返回的全部事務(wù)。 這個(gè)決定由兩個(gè)步驟組成,稱為Two - Phase Commit Protocol。

      在第一步驟中,事務(wù)管理程序輪詢所有包含在分布式事務(wù)中的資源管理程序(關(guān)系數(shù)據(jù)庫管理)來看看哪個(gè)可以準(zhǔn)備提交。如果一個(gè)資源管理程序不能提交,它將不響應(yīng),并且把事務(wù)的特定部分返回,以便數(shù)據(jù)不被修改。

      在第二步驟中,事務(wù)管理程序判斷否定響應(yīng)的資源管理程序中是否有能夠返回整個(gè)事務(wù)的。如果沒有否定響應(yīng)的話,翻譯管理程序提交整個(gè)事務(wù)并且返回結(jié)果到應(yīng)用程序中。

      開發(fā)事項(xiàng)管理程序代碼的開發(fā)者必須與所有三個(gè)JTA接口有關(guān):UserTransaction、TransactionManager和XAResource,這三個(gè)接口都被描述在

      Sun JTA specification中。JDBC驅(qū)動(dòng)程序開發(fā)者只需要關(guān)心XAResource接口。這個(gè)接口是允許一個(gè)資源管理程序參與事務(wù)的行業(yè)標(biāo)準(zhǔn)X/Open XA協(xié)議的Java映射。連接XAResource接口的驅(qū)動(dòng)程序組件負(fù)責(zé)在事務(wù)管理程序和資源管理程序之間擔(dān)任"翻譯"的任務(wù)。下面的章節(jié)提供了XAResource調(diào)用的例子。
    posted on 2006-02-20 14:45 TrampEagle 閱讀(253) 評論(0)  編輯  收藏 所屬分類: java
    主站蜘蛛池模板: 亚洲日本国产综合高清| 国产精品视频全国免费观看| 精品国产免费一区二区| 久久高潮一级毛片免费| 亚洲日本香蕉视频观看视频| 免费国产一级特黄久久| 国产偷伦视频免费观看| 亚洲乱妇老熟女爽到高潮的片| 高清在线亚洲精品国产二区| 8x8×在线永久免费视频| 看全免费的一级毛片| 久久久久亚洲AV无码网站| 国产男女性潮高清免费网站| 久久久久久久岛国免费播放 | 好先生在线观看免费播放| 五月天婷婷免费视频| 亚洲国产亚洲片在线观看播放| 全亚洲最新黄色特级网站| 2021久久精品免费观看| 国产精品免费久久| 亚洲精品无码久久久久秋霞| 亚洲国产人成网站在线电影动漫| 国产在线19禁免费观看国产| 亚洲高清免费在线观看| 精品一区二区三区高清免费观看| 亚洲日韩精品A∨片无码加勒比| 亚洲精品无码成人片久久| 国产精品麻豆免费版| 在免费jizzjizz在线播| 成年女人A毛片免费视频| 国产精品亚洲专区无码牛牛| 久久精品国产亚洲AV久| 亚洲毛片在线观看| 亚洲精品无码成人片久久| 亚洲AⅤ永久无码精品AA| 岛国大片免费在线观看| 久久狠狠躁免费观看| 久久www免费人成看国产片| 18禁亚洲深夜福利人口| 亚洲欧美综合精品成人导航| 亚洲日本香蕉视频|