zoukankan      html  css  js  c++  java
  • OAF_开发系列21_实现OAF事物控制TransactionUnitHelper(案例)

    20150716 Created By BaoXinjian

    一、摘要


    TransactionUnitHelper用以创建一个被标记的Transaction,个人感觉类似PLSQL SavePoint用以Commit和Rollback特定交易的作用

    主要用法

    1. 交易开始时TransactionUnitHelper.startTransactionUnit,创建交易标志

    2. 交易过程中TransactionUnitHelper.isTransactionUnitInProgress,判断交易是否正在处理中

    3. 交易完成后TransactionUnitHelper.endTransactionUnit,结束该标志交易

     

    二、锁定统计信息


    1. CO中处理交易过程

     public void processRequest(OAPageContext pageContext, OAWebBean webBean)
      {
        super.processRequest(pageContext, webBean);
        
    // 判断页面不是导航Back
    if (!pageContext.isBackNavigationFired(false)) {
    // 创建交易标志 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. 回滚和提交

    // 对交易进行回滚
    if
    (TransactionUnitHelper.isTransactionUnitInProgress(pageContext,"purProgUpdateTxn",false)) { am.rollbackPurProgram(); TransactionUnitHelper.endTransactionUnit(pageContext,"purProgUpdateTxn"); }
    // 对交易进行提交
    else { am.commitPurProgram(); TransactionUnitHelper.endTransactionUnit(pageContext,"purProgUpdateTxn"); }

    Thanks and Regards


  • 相关阅读:
    java小提示:标示符常见命名规则、常用ASCII
    java程序练习:数组中随机10个数中的最大值
    java第四课:数组
    java程序练习:x进制转Y进制
    java第三课:分支结构、循环结构
    java第二课:运算符和表达式
    java第一课:环境、变量、数据类型
    00
    linux 设备驱动 nand驱动框架
    linux内核源码分析plat-form 分析
  • 原文地址:https://www.cnblogs.com/eastsea/p/4645444.html
Copyright © 2011-2022 走看看