OAF_开发系列21_实现OAF事物控制TransactionUnitHelper(案例)
生活随笔
收集整理的這篇文章主要介紹了
OAF_开发系列21_实现OAF事物控制TransactionUnitHelper(案例)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
20150716 Created By BaoXinjian
一、摘要
TransactionUnitHelper用以創(chuàng)建一個(gè)被標(biāo)記的Transaction,個(gè)人感覺(jué)類似PLSQL SavePoint用以Commit和Rollback特定交易的作用
主要用法
1. 交易開(kāi)始時(shí)TransactionUnitHelper.startTransactionUnit,創(chuàng)建交易標(biāo)志
2. 交易過(guò)程中TransactionUnitHelper.isTransactionUnitInProgress,判斷交易是否正在處理中
3. 交易完成后TransactionUnitHelper.endTransactionUnit,結(jié)束該標(biāo)志交易
?
二、鎖定統(tǒng)計(jì)信息
1. CO中處理交易過(guò)程
// 判斷頁(yè)面不是導(dǎo)航Back
if (!pageContext.isBackNavigationFired(false)){
// 創(chuàng)建交易標(biāo)志TransactionUnitHelper.startTransactionUnit(pageContext, "purProgUpdateTxn");if (!pageContext.isFormSubmission()){OAApplicationModule am = pageContext.getApplicationModule(webBean);am.invokeMethod("createEmployee", null);}}
else{
// 判斷交易是否正在處理if (!TransactionUnitHelper.isTransactionUnitInProgress(pageContext,"purProgUpdateTxn",true)){ // 提示交易正在處理中OADialogPage dialogPage = new OADialogPage(NAVIGATION_ERROR);pageContext.redirectToDialogPage(dialogPage);}}}
2. 回滾和提交
// 對(duì)交易進(jìn)行回滾if (TransactionUnitHelper.isTransactionUnitInProgress(pageContext,"purProgUpdateTxn",false)) {am.rollbackPurProgram();TransactionUnitHelper.endTransactionUnit(pageContext,"purProgUpdateTxn"); }
// 對(duì)交易進(jìn)行提交
else {am.commitPurProgram();TransactionUnitHelper.endTransactionUnit(pageContext,"purProgUpdateTxn"); }
?
Thanks and Regards
技術(shù)交流,技術(shù)討論,歡迎加入
Technology Blog Created By Oracle ERP - 鮑新建 與50位技術(shù)專家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖
總結(jié)
以上是生活随笔為你收集整理的OAF_开发系列21_实现OAF事物控制TransactionUnitHelper(案例)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: SQL Compare
- 下一篇: 基于Linux C的socketEthe