?? transactions.html
字號(hào):
<?xml version="1.0" encoding="GB2312"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN" lang="zh-CN"><head> <meta http-equiv="Content-Type" content="text/html; charset=GB2312" /> <meta name="keywords" content="electronic commerce, ecommerce, ebusiness, e-business, e-commerce, enterprise software, net economy, Sun Microsystems, Sun Open Net Environment, Sun ONE, internet software" /> <meta name="Description" content="Sun Microsystems, Inc. is delivering Sun ONE e-commerce software and enterprise solutions that enable companies to compete successfully in the Net Economy." /> <meta name="TemplateVersion" content="Sun ONE WDT 2.3.1" /> <meta name="LASTUPDATED" content="10/03/03 09:48:22" /> <meta name="BookTitle" content="Sun Java System Application Server Enterprise Edition 8.1 Administration Guide 2005Q1" /> <title>第 16 章 事務(wù)</title> <link href="catalog.css" tppabs="http://docs.sun.com/source/819-1553/catalog.css" rel="stylesheet" type="text/css" /> <!-- on load bring this window to front --> <script laguage="javascript"> top.window.focus(); </script></head><body text="#000000" link="#594FBF" vlink="#9966cc" alink="#333366" bgcolor="#FFFFFF"><a name="top"> </a><!-- navigation --> <table width="100%" border="0" cellspacing="4" summary="Header navigation table"> <tr><td> <p class="pNavigation"> <a HREF="javascript:if(confirm('http://www.sun.com/software/ \n\n該文件無(wú)法用 Teleport Ultra 下載, 因?yàn)?它是一個(gè)域或路徑外部被設(shè)置為它的啟始地址的地址。 \n\n你想在服務(wù)器上打開(kāi)它?'))window.location='http://www.sun.com/software/'" tppabs="http://www.sun.com/software/"> <img SRC="Logo.jpg" tppabs="http://docs.sun.com/source/819-1553/Logo.jpg" alt="Sun logo" valign="bottom" border="0" /></a>      <a href="ws-security.html" tppabs="http://docs.sun.com/source/819-1553/ws-security.html">上一頁(yè)</a>      <a href="index.html" tppabs="http://docs.sun.com/source/819-1553/index.html">目錄</a>      <a href="httpservice.html" tppabs="http://docs.sun.com/source/819-1553/httpservice.html">下一頁(yè)</a>      </p> </td></tr> <tr><td valign="top" align="right" bgcolor="#594FBF"> <span class="cBookTitle">Sun Java System Application Server Enterprise Edition 8.1 管理指南 2005Q1</span> </td></tr> </table><!-- end navigation --><blockquote><!-- chapter content --><a name="wp465070"> </a><h2 class="pChapNumber"><span class="cGray">第 16 章</span><br /><a name="wp465072"> </a>事務(wù)</h2><a name="wp465076"> </a><p class="pParagraph">通過(guò)將一個(gè)或多個(gè)步驟裝入不可分的工作單元,事務(wù)可確保數(shù)據(jù)的完整性和一致性。本章包括以下幾個(gè)部分:</p><div class="pSmartList1"><ul class="pSmartList1"><a name="wp465082"> </a><div class="pSmartList1"><li><a href="transactions.html#wp465092" tppabs="http://docs.sun.com/source/819-1553/transactions.html#wp465092">關(guān)于事務(wù)</a></li></div><a name="wp465088"> </a><div class="pSmartList1"><li><a href="transactions.html#wp465214" tppabs="http://docs.sun.com/source/819-1553/transactions.html#wp465214">有關(guān)事務(wù)的管理控制臺(tái)任務(wù)</a></li></div></ul></div><a name="wp465092"> </a><h2 class="pHeading1"><hr />關(guān)于事務(wù)</h2><div class="pSmartList1"><ul class="pSmartList1"><a name="wp465098"> </a><div class="pSmartList1"><li><a href="transactions.html#wp465112" tppabs="http://docs.sun.com/source/819-1553/transactions.html#wp465112">什么叫事務(wù)?</a></li></div><a name="wp465104"> </a><div class="pSmartList1"><li><a href="transactions.html#wp465152" tppabs="http://docs.sun.com/source/819-1553/transactions.html#wp465152">J2EE 技術(shù)中的事務(wù)</a></li></div></ul></div><a name="wp465112"> </a><h3 class="pHeading2">什么叫事務(wù)?</h3><a name="wp465114"> </a><p class="pParagraph">事務(wù)是應(yīng)用程序中一系列嚴(yán)密的操作,所有操作必須成功完成,否則在每個(gè)操作中所作的所有更改都會(huì)被撤消。例如,將資金從支票帳戶(hù)轉(zhuǎn)到儲(chǔ)蓄帳戶(hù)中是一項(xiàng)事務(wù),按步驟如下進(jìn)行:</p><div class="pSmartList1"><ol type="1" class="pSmartList1"><a name="wp465116"> </a><div class="pSmartList1"><li>檢查支票帳戶(hù)是否有足夠的資金來(lái)支付此轉(zhuǎn)帳操作。</li></div><a name="wp465118"> </a><div class="pSmartList1"><li>如果支票帳戶(hù)中有足夠的資金,則將該筆資金記入此帳戶(hù)的借方。</li></div><a name="wp465120"> </a><div class="pSmartList1"><li>將這些資金記入儲(chǔ)蓄帳戶(hù)的貸方。</li></div><a name="wp465122"> </a><div class="pSmartList1"><li>將此次轉(zhuǎn)帳記錄到支票帳戶(hù)日志中。</li></div><a name="wp465124"> </a><div class="pSmartList1"><li>將此次轉(zhuǎn)帳記錄到儲(chǔ)蓄帳戶(hù)日志中。</li></div></ol></div><a name="wp465130"> </a><p class="pParagraph">如果這些步驟的任何一個(gè)步驟失敗,則必須撤消在前面的步驟中所做的所有更改,而且支票帳戶(hù)和儲(chǔ)蓄帳戶(hù)的狀態(tài)必須與它們?cè)谑聞?wù)開(kāi)始之前的狀態(tài)相同。該事件稱(chēng)為<em class="cEmphasis">回滾</em>。如果所有步驟都成功完成,則該事務(wù)處于<em class="cEmphasis">提交</em>狀態(tài)。事務(wù)以提交或回滾結(jié)束。</p><a name="wp465152"> </a><h3 class="pHeading2">J2EE 技術(shù)中的事務(wù)</h3><a name="wp465154"> </a><p class="pParagraph">J2EE 技術(shù)中的事務(wù)處理包括以下五個(gè)參與者: </p><div class="pSmartList1"><ul class="pSmartList1"><a name="wp465158"> </a><div class="pSmartList1"><li>事務(wù)管理器</li></div><a name="wp465160"> </a><div class="pSmartList1"><li>Application Server</li></div><a name="wp465164"> </a><div class="pSmartList1"><li>資源管理器</li></div><a name="wp465168"> </a><div class="pSmartList1"><li>資源適配器</li></div><a name="wp465170"> </a><div class="pSmartList1"><li>用戶(hù)應(yīng)用程序 </li></div></ul></div><a name="wp465172"> </a><p class="pParagraph">通過(guò)實(shí)現(xiàn)各自的 API 和功能,每個(gè)實(shí)體均有助于提高事務(wù)處理的可靠性,如下所述:</p><div class="pSmartList1"><ul class="pSmartList1"><a name="wp465174"> </a><div class="pSmartList1"><li>事務(wù)管理器提供了支持事務(wù)劃分、事務(wù)資源管理、同步和事務(wù)上下文傳播所需的服務(wù)和管理功能。</li></div><a name="wp465176"> </a><div class="pSmartList1"><li>Application Server 提供了支持應(yīng)用程序運(yùn)行時(shí)環(huán)境(包含事務(wù)狀態(tài)管理)所需的基礎(chǔ)結(jié)構(gòu)。</li></div><a name="wp465186"> </a><div class="pSmartList1"><li>應(yīng)用程序可以使用資源管理器(通過(guò)資源適配器)訪問(wèn)資源。資源管理器通過(guò)實(shí)現(xiàn)事務(wù)管理器所使用的事務(wù)資源接口來(lái)參與分布式事務(wù),從而就事務(wù)關(guān)聯(lián)、事務(wù)完成及恢復(fù)工作等過(guò)程進(jìn)行通信。例如,關(guān)系型數(shù)據(jù)庫(kù)服務(wù)器就是這樣的資源管理器。</li></div><a name="wp465190"> </a><div class="pSmartList1"><li>資源適配器是一個(gè)系統(tǒng)級(jí)的軟件庫(kù),應(yīng)用程序服務(wù)器或客戶(hù)機(jī)可使用它連接到資源管理器。資源適配器通常專(zhuān)用于資源管理器。它以庫(kù)的形式存在,并在使用它的客戶(hù)機(jī)地址空間中使用。例如,JDBC 驅(qū)動(dòng)程序就是這樣的資源適配器。</li></div><a name="wp465196"> </a><div class="pSmartList1"><li>為在應(yīng)用程序服務(wù)器環(huán)境中運(yùn)行而開(kāi)發(fā)的事務(wù)用戶(hù)應(yīng)用程序可以使用 JNDI 查找事務(wù)數(shù)據(jù)源及事務(wù)管理器(可選)。應(yīng)用程序可以使用企業(yè) Bean 的聲明事務(wù)屬性設(shè)置或明確的程序事務(wù)分界。</li></div></ul></div><a name="wp465214"> </a><h2 class="pHeading1"><hr />有關(guān)事務(wù)的管理控制臺(tái)任務(wù)</h2><a name="wp465220"> </a><p class="pParagraph">Application Server 將基于管理控制臺(tái)中的設(shè)置來(lái)處理事務(wù)。</p><a name="wp465226"> </a><h3 class="pHeading2">配置事務(wù)</h3><a name="wp465228"> </a><p class="pParagraph">本節(jié)說(shuō)明了配置以下事務(wù)屬性的過(guò)程:</p><div class="pSmartList1"><ul class="pSmartList1"><a name="wp465230"> </a><div class="pSmartList1"><li>事務(wù)恢復(fù)</li></div><a name="wp465232"> </a><div class="pSmartList1"><li>事務(wù)超時(shí)</li></div><a name="wp465234"> </a><div class="pSmartList1"><li>事務(wù)日志記錄</li></div></ul></div><a name="wp465240"> </a><h4 class="pHeading3">事務(wù)恢復(fù)</h4><a name="wp465246"> </a><p class="pParagraph">由于服務(wù)器崩潰或資源管理器崩潰,事務(wù)可能未完成。完成這些出現(xiàn)問(wèn)題的事務(wù)并從故障中恢復(fù)是至關(guān)重要的。Application Server 可在服務(wù)器啟動(dòng)時(shí)從這些故障中恢復(fù)并完成事務(wù)。</p><a name="wp465248"> </a><p class="pParagraph">執(zhí)行恢復(fù)操作時(shí),如果無(wú)法訪問(wèn)某些資源,則服務(wù)器重新啟動(dòng)操作可能被延遲,因?yàn)榉?wù)器正在嘗試恢復(fù)事務(wù)。</p><a name="wp465250"> </a><p class="pParagraph">如果事務(wù)跨服務(wù)器進(jìn)行,啟動(dòng)該事務(wù)的服務(wù)器會(huì)聯(lián)系其他服務(wù)器以獲得事務(wù)的結(jié)果。如果無(wú)法訪問(wèn)其他服務(wù)器,則該事務(wù)將使用“試探性決定”字段來(lái)確定結(jié)果。
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -