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

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

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

    Oracle神諭

      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(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ì)象或樂(lè)觀鎖,看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 @ 2005-06-14 18:04 java世界暢談 閱讀(1838) | 評(píng)論 (0)編輯 收藏

    流程定義XML流:
    1.定制action:
    <process-definition>
       <start-state>
          <transition to="s"/>
       </start-state>
       <state name="s">
          <transition to="end">
             <action class="com....MyActionHandler"/>
          </transition>
       </state>
       <end-state name="end"/>
    </process-definition>
    2.有對(duì)應(yīng)事件的
    <process-definition>
       <start-state>
          <transition to="s"/>
       </start-state>
       <state name="s">
          <event type="node-enter">
             <action calss="com....MyActionHandler"/>
          </event>
          <event type="node-leave">
             <action calss="com....MyActionHandler"/>
          </event>
          <transition to="end"/>     
       </state>
       <end-state name="end"/>
    </process-definition>
    3.任務(wù)分派XML流程定義
    <process-definition name="the baby process">
       <start-state>
          <transition name="baby cries" to="t"/>
       </start-state>
       <task-node name="t">
          <task name="change nappy">
             <assignment class="com....NappyAssignmentHandler"/>
          </task>
          <transition to="end" />
       </task-node>
       <end-state name="end"/>
    </process-definition>

    posted @ 2005-06-06 17:07 java世界暢談 閱讀(1371) | 評(píng)論 (0)編輯 收藏

    JBPM_ACTION                                 action記錄表
    JBPM_DECISIONCONDITIONS     結(jié)果條件表
    JBPM_DELEGATION                        委托表
    JBPM_EVENT                                    事件表 處理進(jìn)入或者離開事件
    JBPM_EXCEPTIONHANDLER        異常處理表
    JBPM_ID_GROUP                             用戶組表
    JBPM_ID_MEMBERSHIP                 用戶成員表   表現(xiàn)用戶和組之間的多對(duì)多關(guān)系
    JBPM_ID_PERMISSIONS                用戶權(quán)限表
    JBPM_ID_USER                                用戶表
    JBPM_MODULEDEFINITION         模塊定義表
    JBPM_MODULEINSTANCE            模塊實(shí)例表
    JBPM_NODE                                     流程節(jié)點(diǎn)表
    JBPM_POOLEDACTOR                   匯集參與著表
    JBPM_PROCESSDEFINITION         流程定義表
    JBPM_PROCESSFILE                       流程文件表
    JBPM_PROCESSFILEBLOCK         流程文件塊表
    JBPM_PROCESSINSTANCE           流程實(shí)例表
    JBPM_RUNTIMEACTION               運(yùn)行中行為表
    JBPM_SCRIPTVARIABLES             腳本變量表
    JBPM_SWIMLANE                          泳道表
    JBPM_SWIMLANEINSTANCE       泳道實(shí)例表
    JBPM_TASK                                     任務(wù)表
    JBPM_TASKACTORPOOL             用戶行為匯總
    JBPM_TASKINSTANCE                 任務(wù)實(shí)例
    JBPM_TIMER                                   計(jì)時(shí)表
    JBPM_TOKEN                                 令牌表
    JBPM_TOKENVARIABLEMAP      令牌變量影射表
    JBPM_TRANSITION                        轉(zhuǎn)換表
    JBPM_VARIABLEINSTANCE         變量實(shí)例表
    JBPM_VARIABLEINSTANCEBLOCK  變量實(shí)例塊表
    JBPM_VARIABLEMAPPING            變量影射表
    posted @ 2005-06-06 13:27 java世界暢談 閱讀(2651) | 評(píng)論 (8)編輯 收藏

      最近剛剛開始接觸工作流,感覺這個(gè)東西確實(shí)很不錯(cuò)。當(dāng)然現(xiàn)在自己還沒(méi)有入門,因?yàn)樽约旱膸讉€(gè)朋友在開發(fā)中接觸類似的東西。現(xiàn)在也開始接觸一些。
      目前選擇jBPM作為研究的對(duì)象,其他的工作流(OSWorkflow)暫時(shí)先放在一邊,因?yàn)閖BPM將hibernate3.0作為其持久層的解決方案,而自己對(duì)Hibernate現(xiàn)在也有了一定的認(rèn)識(shí)。想來(lái),上手應(yīng)該好一些的。
      昨天和朋友在一起的游泳的時(shí)候,也談了很長(zhǎng)時(shí)間的工作流。工作流有自己的一套Database,其中主要記錄的是狀態(tài)信息。工作流關(guān)心的就是狀態(tài)信息。可以有流程描述語(yǔ)言來(lái)設(shè)置流程,jBPM有自己一套繪制流程的工具(提供的是一個(gè)插件)。不過(guò)在具體的業(yè)務(wù)信息中也要處理狀態(tài)信息,方便于流向下個(gè)業(yè)務(wù)層面。流程可以回滾處理。
      典型的一個(gè)流程,甲寫了一個(gè)請(qǐng)假申請(qǐng),提交給領(lǐng)導(dǎo)乙,領(lǐng)導(dǎo)拿到后,不給予審批,然后將給第三方丙。丙來(lái)處理這個(gè)流程。
    posted @ 2005-06-06 13:02 java世界暢談 閱讀(840) | 評(píng)論 (1)編輯 收藏

    僅列出標(biāo)題
    共29頁(yè): First 上一頁(yè) 21 22 23 24 25 26 27 28 29 
    主站蜘蛛池模板: 亚洲综合综合在线| 精品国产污污免费网站入口在线| 日本一道本高清免费| caoporn成人免费公开| 亚洲美女视频网址| 国产精品另类激情久久久免费 | 中国一级特黄高清免费的大片中国一级黄色片| 亚洲中久无码永久在线观看同| 9277手机在线视频观看免费| 亚洲av无码一区二区三区人妖| 亚洲精品V欧洲精品V日韩精品| 在线观看日本免费a∨视频| 一级做α爱过程免费视频| 亚洲永久中文字幕在线| 免费一级毛片在线观看| 精品无码无人网站免费视频| 污污免费在线观看| 亚洲日本视频在线观看| 亚洲国产香蕉人人爽成AV片久久| 国产成人精品免费视频网页大全| 成年网在线观看免费观看网址| 亚洲欧洲日产国码在线观看| 亚洲AV无码成人精品区大在线| xx视频在线永久免费观看| 产传媒61国产免费| 在线观看日本亚洲一区| 亚洲s色大片在线观看| 免费永久在线观看黄网站| 国产精品怡红院永久免费| 国产午夜不卡AV免费| 黄色毛片视频免费| 亚洲中文字幕久久无码| 亚洲四虎永久在线播放| 亚洲一区二区三区在线播放| 在线免费不卡视频| 亚洲免费福利视频| 国产精品区免费视频| 国产无遮挡色视频免费观看性色| 亚洲Av永久无码精品黑人| 亚洲天堂电影在线观看| 亚洲成A人片在线观看WWW|