六種常用的事務

gfwang 12年前發布 | 1K 次閱讀 CCleaner

J2EE 應用程序中有六種常用的范圍類型:

Transaction(事務)

Request(請求)

HTTP session(HTTP 會話)

Application(應用程序)

Global(全局)

None(無)

事務范圍覆蓋一個事務的整個生命周期。這個范圍開始于一個事務的開始。這時會創建一個惟一的范圍鍵。這個范圍結束于提交或回滾事務時。這時,與事務范圍相關聯的所有對象被自動釋放回它們的池。

請求范圍與一個 servlet 請求的范圍對應;在容器調用 servlet 來處理請求之后,請求范圍立即開始。同時會創建一個惟一的范圍鍵。在 servlet 完成處理之前請求范圍結束。這時,與這個范圍相關聯的所有對象被自動釋放回它們的池。

HTTP 會話范圍與一個 HTTP 會話的生命周期對應。它從創建一個新的 HttpSession 時開始。這時會創建一個惟一的范圍鍵。它結束于會話被銷毀或過期時。這時,與這個范圍相關聯的所有對象被自動釋放回它們的池。

應用程序范圍覆蓋應用程序的整個生命周期。它開始于把一個應用程序部署到應用服務器時。這時會創建一個惟一的范圍鍵。這個范圍結束于應用程序停止運行或從應用服務器中刪除時。這時,與這個范圍相關聯的所有對象被自動釋放回它們的池。

全局范圍是最大的范圍。采用這種范圍的對象不會被釋放。

無范圍用于不使用對象池的對象。采用這種范圍的對象每次都通過自己的對象構造函數來創建,并由 Java 垃圾收集器釋放。對象管理器根本不管理它們。

 本文由用戶 gfwang 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!