程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 基於Java事務模型的事務策略

基於Java事務模型的事務策略

編輯:關於JAVA

事務對於確保數據的完整性與一致性是至關重要的。要想完全理解事務,必須得熟悉一些基本概念、模型還有策略。Mark Richards說到“混淆事務模型與事務策略是個常見錯誤”。這篇文章談到了“Java"平台所支持的三種事務模型並對基於這些模型的四種主要事務策略展開了討論。通過使用Spring Framework及Enterprise JavaBeans(EJB)3.0的一些示例,Mark介紹了事務模型的工作方式及他們緣何能作為從基本的事務處理到高速事務處理系統的基石” 。

Java平台支持三種事務模型:

* 本地事務模型——事務由DB資源而不是應用容器或框架管理。開發者管理連接而不是事務。

* 編程式事務模型——開發者從事務管理器中獲取事務,之後需要自己編寫事務啟動、提交、異常及回滾代碼。

* 聲明式事務模型——最常見的模型,又叫做容器管理事務。在這種模型下,容器管理著事務,開發者定義(聲明)事務的行為和參數。

但這種支持僅能描述事務基本信息和期望行為以及使用的語法和規則。事務策略能夠解決如下問題:何時需要使用REQUIRED或MANDATORY屬性、特定的指令、使用哪種模型及如何對特定的情況進行優化。

Mark在之前的一篇文章中討論了事務模型的優勢與陷阱。

這篇文章介紹了使用特定模型的策略及如何以恰當的方式使用模型。下面列出了這四個策略:

* 在客戶端發出了多個基於服務器或基於模型的調用來完成一個單獨的工作單元時需要使用客戶端編排(ClIEnt Orchestration)事務策略。

* 在對後端調用的主要入口方法是粗粒度(如果你願意可以稱其為服務)的情況下需要使用API層事務策略。

* 高並發事務策略是上面策略的一個變種,在應用無法支持長事務的情況下需要使用該策略(通常基於性能和可伸縮性考慮)。

* 高速處理事務策略也許是最極端的一種事務策略了。如果應用需要最快的處理時間(以及吞吐量),同時還要在處理過程中保持一定的事務原子性,那麼可以使用該策略。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved