關於J2EE Tranaction的幾個基本概念

2021-05-02 03:56:40 字數 1791 閱讀 4406

transaction不管在j2ee還是.net領域中都是相當重要的乙個組成部分。儘管很多與 transaction相關的概念在兩個不同的平台中都是相通的,但是它們在transaction的實現方面卻有著很多的不同。想對.net下的 transaction有更深入了解的朋友,可以參考

idior

兄寫的transaction in ado.net 2.0

不可分割以及改動。僅僅是乙個改動資料庫的操作是沒有transaction可言,只有「一系列」操作(一組sql語句)才可能組成transaction;「不可分割」就意味著一致性和完整性,要麼這一系列操作全部commit,要麼就全部rollback;如果一系列的操作只包含enquiry操作,那麼這些操作也不是 transaction。 

2.在j2ee中,transaction主要有幾大類,具體有幾種?在j2ee 中,transaction主要有bean-managed transaction和container-managed transaction兩大類。其中在bean-managed transaction中還會分為jdbc transaction和jta transaction兩種。

3.什麼是jdbc transaction?它有怎樣的特點?jdbc transaction是指由database本身去管理的事務。其最大的特點就是通過顯示呼叫connection介面的commit和 rollback方法來完成事務的提交和回滾。事務結束的邊界是commit或者rollback方法的呼叫,而開始的邊界則不是那麼明顯了,它會開始於組成當前事務的所有statement中的第乙個被執行的時候。具體**如下:

public

void

withdrawcash(

double

amount) 

catch

(exception ex) 

catch

(systemexception syex) 

}}

5.什麼是container-managed transaction?它又有怎樣的特點呢?container-managed transaction,顧名思義,就是由container負責管理的transaction,當然這樣transaction是出現在ejb的範疇中。container-managed transaction最大的特點是不需要顯式界定事務的邊界,也不需要顯式的提交或者回滾事務,這一切都由container來替我們完成。我們需要做的就是設定在乙個bean中,哪些方法是跟事務相關的,同時設定它們的transaction attribute既可。

transaction的scope是相當重要的,特別是在乙個bean的方法中呼叫另外乙個bean的方法。為了便於說明問題,我們把這兩個方法分別稱為methoda和methodb。當methoda呼叫methodb的時候,methodb在事務的層面上對呼叫者methoda有怎樣的限制 (methodb中是否存在事務)以及methoda如何在事務的層面上實現對methodb的呼叫(是否需要重新建立乙個新的事務來處理methodb 的呼叫)都需要通過transaction attribute來設定的。具體的transaction attribute有以下六種:required,requiresnew,mandatory,notsupported,supports和 never。

有關transaction attribute的介紹,可以參閱j2ee tutorial中關於container-managed transaction的介紹。

[1] **來自sun的j2ee tutorial中關於bean-managed transaction的介紹

關於J2ME進度條

關於進度條 最近在看 j2me 手機遊戲開發技術詳解 強鋒科技 龔劍,李振鵬 編著 書中關於進度條的方法是這樣的 進度條的實現時基於多執行緒的思想。乙個單獨的執行緒進行進度條的繪製工作,程式的主線程同步進行資源的載入,兩個執行緒同時執行在資源載入結束時,通知進度條執行緒結束。本程式使用構造物件的方式...

J2ME 關於移動的主頁推送對J2ME程式的影響

中國移動於5月17日推出費用提示頁面,其實早在5月15日測試j2me程式的時候就發現已經有頁面推送了。5月15日早上照常測試我的j2me聯網程式發現在模擬器一切正常,但是到了真機上卻得不到正確的資料,後來發現是第一次鏈結得到的資料流正是移動推送的頁面資料。經過試驗,其實得到第乙個頁面不用管它,繼續重...

關於j2me應用實現會話跟蹤

最近做乙個j2me小專案,應用中需要使用者登入驗證,以後每次請求伺服器都驗證使用者sessionid。因為客戶端是手機上的應用程式 沒有瀏覽器 所以不能直接使用session會話跟蹤,如果伺服器端是jsp可以用url重寫的方法使用會話跟蹤,我的具體做法是servlet獲得請求 驗證使用者 驗證成功就...