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

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

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

    Oracle神諭

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      284 隨筆 :: 9 文章 :: 106 評(píng)論 :: 0 Trackbacks

    (一)結(jié)構(gòu):
    (1)XML定義文件(definition)
    (2)plain java   JBpm對(duì)象模型  定義 執(zhí)行 日志
    (3)DataBase  定義 執(zhí)行 日志
    (二)
    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.{一個(gè)流程定義可以表現(xiàn)為三種不同的形態(tài):XML 、java對(duì)象和jBpm數(shù)據(jù)庫(kù)中的記錄。執(zhí)行(運(yùn)行)信息和日志信息可以表現(xiàn)為兩種形態(tài):java對(duì)象和jBpm數(shù)據(jù)庫(kù)中的記錄}

    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. {這個(gè)章節(jié)將要討論在java對(duì)象和jBPM數(shù)據(jù)庫(kù)之間的轉(zhuǎn)換。為了在數(shù)據(jù)庫(kù)中存儲(chǔ)對(duì)象和獲取他們,jBPM使用內(nèi)部使用了Hibernate。當(dāng)然不是在使用jBPM中嚴(yán)格要擁有Hibernate的知識(shí),它是建議的}

    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持久層操作可以發(fā)現(xiàn)被命名為sessions,例如想GraphSession TaskMgmtSession和ContextSession.... 這個(gè)命名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. {一個(gè)JbpmSessionFactory在你的程序中是線程安全的,你僅僅需要一個(gè)JbpmSessionFactory. 那個(gè)單例可以被參考在例如在lazy初始化下的靜態(tài)變量(小心發(fā)布在Lazy 初始化并且雙層檢查鎖定。在創(chuàng)建時(shí)刻,JbpmSessionFactory 在某種程度準(zhǔn)備所有信息那樣可以被快速創(chuàng)建)}

    As a user, you should create one JbpmSession per thread or per request. The JbpmSession has a JDBC connection to the database. {作為一個(gè)用戶,你應(yīng)該創(chuàng)建一個(gè)JbpmSession 每一個(gè)線程或每一次請(qǐng)求。JbpmSession擁有一個(gè)連接數(shù)據(jù)庫(kù)的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. {這個(gè)JbpmSession和JbpmSessionFactory的目的僅僅是為了包裝Hibernate 副本。 對(duì)于高級(jí)特征 例如分離對(duì)象或樂觀鎖,看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世界暢談 閱讀(1828) 評(píng)論(0)  編輯  收藏 所屬分類: 工作流
    主站蜘蛛池模板: 国产AⅤ无码专区亚洲AV| 99热在线精品免费全部my| 亚洲av日韩片在线观看| 亚洲精品av无码喷奶水糖心| 久久不见久久见免费影院| 亚洲丝袜中文字幕| 99精品全国免费观看视频| 国产精品亚洲自在线播放页码| 国产AV无码专区亚洲AV毛网站| 9久久免费国产精品特黄| 中文字幕人成人乱码亚洲电影| 国产性生大片免费观看性| 日本红怡院亚洲红怡院最新 | 久久精品国产亚洲网站| 免费在线看黄网站| 亚洲美女自拍视频| 扒开双腿猛进入爽爽免费视频| 亚洲人成网站免费播放| 日韩亚洲精品福利| 两个人看的www高清免费观看| 亚洲嫩模在线观看| 成年女人免费v片| 思思久久99热免费精品6| 亚洲日韩欧洲乱码AV夜夜摸| 99久久免费中文字幕精品| 亚洲中文字幕无码av| 亚洲M码 欧洲S码SSS222| 亚洲乱码一区二区三区国产精品| 成年在线网站免费观看无广告| 亚洲成av人无码亚洲成av人| 国产亚洲精品高清在线| **毛片免费观看久久精品| 亚洲欧美第一成人网站7777| 亚洲最大激情中文字幕| 青娱乐免费视频在线观看| 人妻仑乱A级毛片免费看| 日韩亚洲Av人人夜夜澡人人爽| 久久久久久久久免费看无码| 一级黄色毛片免费看| 亚洲自偷自拍另类图片二区| 国产jizzjizz免费视频|