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


  • 相关阅读:
    十个提升你Emacs生产力的高招
    emacs 操作集锦
    分页
    JAVA获取CLASSPATH路径
    用Spring的mappingDirectoryLocations来配置Hibernate映射文件
    ajax请求后台,返回json格式数据,模板!
    javascrip中的confirm小技巧
    如何将word图片粘贴到eWebEditor里面
    如何将word图片粘贴到wangEditor里面
    如何将word图片粘贴到xhEditor里面
  • 原文地址:https://www.cnblogs.com/eastsea/p/4645444.html
Copyright © 2011-2022 走看看