freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

jbpm工作流全程筆記(編輯修改稿)

2025-07-22 07:00 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 ()。()。}@Testpublic void endTask() {JbpmConfiguration jbpmConfiguration = ()。JbpmContext jbpmContext = ()。// sessionTaskInstance ti = (3)。// ()。(to end)。()。}在員工填寫(xiě)報(bào)銷單任務(wù)完成前,應(yīng)把業(yè)務(wù)數(shù)據(jù)報(bào)銷金額與流程關(guān)聯(lián)起來(lái),可以通過(guò)設(shè)置流程變量實(shí)現(xiàn)。流程變量是與流程實(shí)例關(guān)聯(lián)的,并且會(huì)持久化到數(shù)據(jù)庫(kù)中。不同的流程實(shí)例是互不相干的,就好比web中的session,在其中設(shè)置變量(setAttribute)是跟其它的session中的變量無(wú)關(guān)的。利用變量動(dòng)態(tài)的設(shè)置參與者。在流程定義中指定參與者(actorid)時(shí),可以使用變量,變量是以{開(kāi)頭,以}結(jié)束,中間的是變量名。這里的變量引用的是在執(zhí)行流程時(shí)設(shè)置的流程變量。流程實(shí)例有了結(jié)束時(shí)間(end!=null)就表示這個(gè)流程實(shí)例結(jié)束了。任務(wù)實(shí)例如果開(kāi)始時(shí)間不為null(start!=null),表示已經(jīng)開(kāi)始了,即已對(duì)其調(diào)用了start()方法;同樣在調(diào)用任務(wù)實(shí)例的end()方法時(shí),結(jié)束時(shí)間被填充(end!=null表示任務(wù)實(shí)例已結(jié)束)。以下是一些實(shí)體與表的對(duì)應(yīng)關(guān)系:+++|PO|table|實(shí)體+++|ProcessDefinition|jbpm_processdefinition|流程定義+++|ProcessInstance|jbpm_processinstance|流程實(shí)例+++|TaskInstance|jbpm_taskinstance|任務(wù)實(shí)例+++|VariableInstance|jbpm_variableinstance |流程變量+++在Jbpm中,標(biāo)識(shí)各個(gè)節(jié)點(diǎn)的類型是不同的,功能也各不相同。今天,在課堂上,湯老師重點(diǎn)為我們講解了各個(gè)節(jié)點(diǎn)的作用及用法。1. 節(jié)點(diǎn)不同的節(jié)點(diǎn)類型代表不同的行為。1 startstate開(kāi)始節(jié)點(diǎn),標(biāo)識(shí)流程開(kāi)始邊界。開(kāi)始狀態(tài)有且只有一個(gè),就是說(shuō)流程中不能有任何transition指向開(kāi)始節(jié)點(diǎn)。在流程實(shí)例被創(chuàng)建后(啟動(dòng)),RootToken(根令牌)就指向startstate,并且處于等待狀態(tài),需要給Token發(fā)信號(hào)(signal)才能使流程繼續(xù)執(zhí)行。2 endstate結(jié)束節(jié)點(diǎn),標(biāo)識(shí)流程的結(jié)束邊界。不需要transition元素。3 tasknode任務(wù)節(jié)點(diǎn),可以包含任意數(shù)量的Task(任務(wù))。當(dāng)執(zhí)行到一個(gè)任務(wù)節(jié)點(diǎn)的時(shí)候,將會(huì)根據(jù)這個(gè)tasknode中的task的定義,創(chuàng)建相同數(shù)量的TaskInstance(為每一個(gè)Task都創(chuàng)建一個(gè)任務(wù)實(shí)例,并且分配給任務(wù)定義中指定的參與者)。然后,這個(gè)tasknode一直處于等待狀態(tài),等到這些任務(wù)實(shí)例都被完成后,才會(huì)離開(kāi)當(dāng)前的節(jié)點(diǎn),到達(dá)下一個(gè)節(jié)點(diǎn)。(String transitionName)時(shí),如果這個(gè)任務(wù)實(shí)例不是當(dāng)前任務(wù)節(jié)點(diǎn)中的最后完成的那個(gè),那這個(gè)方法就只是完成任務(wù)而已,并不會(huì)使用這指定的transition離開(kāi)節(jié)點(diǎn)。就是說(shuō):只有當(dāng)這個(gè)任務(wù)實(shí)例完成后,Token就要離開(kāi)當(dāng)前節(jié)點(diǎn),到達(dá)下一個(gè)節(jié)點(diǎn)時(shí),指定的transitionName才有作用。如果一個(gè)tasknode中沒(méi)有定義任務(wù),執(zhí)行時(shí),一進(jìn)入這個(gè)節(jié)點(diǎn)就會(huì)馬上離開(kāi),即Token不會(huì)在這個(gè)tasknode上停留,因?yàn)樗l(fā)現(xiàn)所有的任務(wù)實(shí)例都執(zhí)行完了(任務(wù)實(shí)例的數(shù)量為0)。4 state狀態(tài)節(jié)點(diǎn),這是一個(gè)等待節(jié)點(diǎn)。當(dāng)執(zhí)行到達(dá)這個(gè)節(jié)點(diǎn)的時(shí)候,就會(huì)處于等待狀態(tài),須給token發(fā)一個(gè)信號(hào)(signal)才能使流程繼續(xù)執(zhí)行。5 decision決策節(jié)點(diǎn),用于計(jì)算流向。有兩種計(jì)算方式:1) 在decision中使用DecisionHandler,或使用一個(gè)表達(dá)式。(都是返回要使用的transition的name);2) 在decision中的transition元素中使用boolean表達(dá)式。這樣將使用表達(dá)式計(jì)算結(jié)果為真的那個(gè)transition離開(kāi)節(jié)點(diǎn)。① 只有decision節(jié)點(diǎn)中的transition元素的的condition可以計(jì)算。在其他節(jié)點(diǎn)是不起作用的?、?如果有多個(gè)transition的condition計(jì)算為true,將會(huì)使用第一個(gè)結(jié)果為true的transition(按定義中的順序);③ 如果所有的transition的condition的值都為false,則使用第一個(gè)。如果以上方法同時(shí)使用,調(diào)用的順序?yàn)椋喝绻衐ecisionDelegation,則使用它的計(jì)算結(jié)果。否則,如果有decisionExpression,則使用它的計(jì)算結(jié)果。否則,如果使用decisionConditions(trasnition中的表達(dá)式)的計(jì)算結(jié)果。6 expression(表達(dá)式)和我們?cè)趈sp中使用的el表達(dá)式相似,只是${}改為{}。表達(dá)式中可以直接使用已設(shè)置的流程變量,并且可以直接使用以下變量:taskInstanceprocessInstanceprocessDefinitiontokentaskMgmtInstancecontextInstance7 fork / join分支節(jié)點(diǎn)與合并節(jié)點(diǎn)。分支節(jié)點(diǎn)的作用是將單個(gè)執(zhí)行流程分裂成多個(gè)并發(fā)的執(zhí)行流程。默認(rèn)的行為是為每個(gè)子流程生成一個(gè)子令牌,并建立子令牌和主流程令牌之間的父子關(guān)系。此時(shí),父令牌指向fork節(jié)點(diǎn),子令牌指向各個(gè)分支節(jié)點(diǎn)。合并節(jié)點(diǎn)將分支收攏。當(dāng)所有的分支(從同一個(gè)fork中出來(lái)的)都到達(dá)該節(jié)點(diǎn)的時(shí)候,join結(jié)點(diǎn)將結(jié)束這些分支上的子token,并通給他們的父Token發(fā)一個(gè)信號(hào)離開(kāi)join節(jié)點(diǎn)。如果只有分支中的部分token到達(dá)時(shí),join結(jié)點(diǎn)將處于等待狀態(tài)。需要注意的是:fork和join節(jié)點(diǎn)要成對(duì)的出現(xiàn)。fork節(jié)點(diǎn)中的transition都要指定名字。否則。用程序運(yùn)行沒(méi)有問(wèn)題,用jbpmconsole運(yùn)行時(shí)執(zhí)行到這個(gè)fork節(jié)點(diǎn)的時(shí)候就會(huì)拋空指針異常。8 node可定制的節(jié)點(diǎn)??梢栽趎ode元素中指定一個(gè)Action子元素,可以指定一個(gè)實(shí)現(xiàn)了Actionhandler接口的類,用這個(gè)類可定制這個(gè)節(jié)點(diǎn)的行為。這時(shí),如是果想讓流程繼續(xù)執(zhí)行,需要給token發(fā)一個(gè)信號(hào)。如果node中沒(méi)有action子元素,他的默認(rèn)行為是一到達(dá)就離開(kāi)了,不作停留。2. Action動(dòng)作,是一段代碼,在指定的情況下被執(zhí)行。屬性:class:指定處理類;name:action的名字;refname:所引用的action的名字;一個(gè)action是一段java代碼,用來(lái)引入附加的處理邏輯??梢苑旁趎ode節(jié)點(diǎn)中,也可
點(diǎn)擊復(fù)制文檔內(nèi)容
物理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1