<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Oracle神諭

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      284 隨筆 :: 9 文章 :: 106 評論 :: 0 Trackbacks

    (一)結構:
    (1)XML定義文件(definition)
    (2)plain java   JBpm對象模型  定義 執行 日志
    (3)DataBase  定義 執行 日志
    (二)
    A process definition can be represented in 3 different forms : as xml, as java objects and as records in the jBPM database. Executional (=runtime) information and logging information can be represented in 2 forms : as java objects and as records in the jBPM database.{一個流程定義可以表現為三種不同的形態:XML 、java對象和jBpm數據庫中的記錄。執行(運行)信息和日志信息可以表現為兩種形態:java對象和jBpm數據庫中的記錄}

    For more information about the xml representation of process definitions and process archives, see Chapter 13, jBPM Process Definition Language (JPDL).{Process Definition Language JPDL}

    This chapter will discuss the transformations done between the java objects and the jBPM database. To store java objects in the database and retrieve them, jBPM uses hibernate internally. While it is not strictly necessary to have hibernate knowledge for using jBPM, it is recommended. {這個章節將要討論在java對象和jBPM數據庫之間的轉換。為了在數據庫中存儲對象和獲取他們,jBPM使用內部使用了Hibernate。當然不是在使用jBPM中嚴格要擁有Hibernate的知識,它是建議的}

    More information on how to deploy a process archive to the database can be found in Section 13.1.1, “Deploying a process archive” .


    (三)Session的層次:
    JbpmSessionFactory
    |
    |
    |
    JbpmSession
    |
    |
    |
    GraphSession
    TaskMgmtSession
    ContextSession

    (四) The jBPM database classes

    The jBPM persistence operations can be found in the named sessions like e.g. GraphSession, TaskMgmtSession and ContextSession,... The named sessions can be obtained from a JbpmSession. The JbpmSession in its turn can be obtained from a JbpmSessionFactory. {jBPM持久層操作可以發現被命名為sessions,例如想GraphSession TaskMgmtSession和ContextSession.... 這個命名sessions可以從JbpmSession中獲得。JbmpSession可以從JbpmSessionFactory中獲得}

    A JbpmSessionFactory is threadsafe so in your application, you need one JbpmSessionFactory. That singleton can be referenced e.g. in a static variable with lazy initialization (beware about the issues around lazy initialization and double-checked locking). At creation time, the JbpmSessionFactory prepares all information in a way that JbpmSessions can be created super fast. {一個JbpmSessionFactory在你的程序中是線程安全的,你僅僅需要一個JbpmSessionFactory. 那個單例可以被參考在例如在lazy初始化下的靜態變量(小心發布在Lazy 初始化并且雙層檢查鎖定。在創建時刻,JbpmSessionFactory 在某種程度準備所有信息那樣可以被快速創建)}

    As a user, you should create one JbpmSession per thread or per request. The JbpmSession has a JDBC connection to the database. {作為一個用戶,你應該創建一個JbpmSession 每一個線程或每一次請求。JbpmSession擁有一個連接數據庫的Jdbc連接。}

    The purpose of the JbpmSession and JbpmSessionFactory is only to wrap their hibernate counterparts. For advanced features such as detached objects or optimistic locking, see the hibernate documentation. {這個JbpmSession和JbpmSessionFactory的目的僅僅是為了包裝Hibernate 副本。 對于高級特征 例如分離對象或樂觀鎖,看hibernate文檔。}

    public class PersistenceApiTest extends TestCase {

      static JbpmSessionFactory jbpmSessionFactory = JbpmSessionFactory.buildJbpmSessionFactory();

      public void testStartProcessInstance() {
        // obtain a session
        JbpmSession jbpmSession = jbpmSessionFactory.openJbpmSession();
        try {
          // start a user managed transaction
          jbpmSession.beginTransaction();

          // load information from the database
          // (note that process definitions will be cached in memory
          // in the second level cache of hibernate)
          ProcessDefinition auctionProcess =
            jbpmSession.getGraphSession().findLatestProcessDefinition("auction");

          // perform a POJO workflow operation on the plain object model.
          ProcessInstance auctionInstance = new ProcessInstance(auctionProcess);
          auctionInstance.signal();
         
          // store the result in the database
          jbpmSession.getGraphSession().saveProcessInstance(auctionInstance);
         
          // commit the user transaction
          jbpmSession.commitTransaction();

        } finally {
          // close the session.
          jbpmSession.close();     
        }
      }
    }

    posted on 2005-06-14 18:04 java世界暢談 閱讀(1830) 評論(0)  編輯  收藏 所屬分類: 工作流
    主站蜘蛛池模板: 蜜桃AV无码免费看永久| 你懂的在线免费观看| 羞羞漫画小舞被黄漫免费| 91视频免费网站| 国产亚洲婷婷香蕉久久精品| 亚洲一区动漫卡通在线播放| 精品国产呦系列在线观看免费| 青青青免费国产在线视频小草| 亚洲无线观看国产精品| 亚洲AV综合色区无码一二三区| 无码免费一区二区三区免费播放 | 亚洲美女又黄又爽在线观看| 久久精品成人免费观看97| 亚洲色欲一区二区三区在线观看 | 3344免费播放观看视频| 亚洲高清免费在线观看| 国产精品1024在线永久免费| 99久久综合国产精品免费| 亚洲中文字幕久久精品无码APP| 亚洲AV成人影视在线观看| 特级做A爰片毛片免费看无码| 亚洲国产成人片在线观看无码| 真正全免费视频a毛片| 99久久免费精品国产72精品九九| 亚洲国产精品久久久久久| 成av免费大片黄在线观看| 日产国产精品亚洲系列| 亚洲性无码AV中文字幕| 久久天天躁狠狠躁夜夜免费观看| 亚洲精品又粗又大又爽A片| 毛片免费在线观看网址| 亚洲欧洲国产成人精品| 美丽的姑娘免费观看在线播放 | 久久综合AV免费观看| 国产成人高清亚洲一区91| 亚洲精品V欧洲精品V日韩精品| 国内精品免费麻豆网站91麻豆| 亚洲性天天干天天摸| www一区二区www免费| 4480yy私人影院亚洲| 国产成人3p视频免费观看 |