activiti流程文件細(xì)解_第1頁(yè)
activiti流程文件細(xì)解_第2頁(yè)
activiti流程文件細(xì)解_第3頁(yè)
activiti流程文件細(xì)解_第4頁(yè)
activiti流程文件細(xì)解_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Activiti流程文件細(xì)解-"Pracess〔該流程的根本數(shù)據(jù),流程名字等〕-----3-"DataObjects--------------------------4-"Listeners〔執(zhí)行監(jiān)聽(tīng)器〕----------------5-"--"Javaclass----------------------6-"--"E*pression----------------------6-"--"DelegateE*pression-------------7-"啟動(dòng)節(jié)點(diǎn)-----------------------------------------8-"--"General------------------------------8-"--"Mainconfig--------------------------9-"--"Documentation------------------------9-"--"Form--------------------------------101、動(dòng)態(tài)表單----------------------------------------------------------102、外置表單----------------------------------------------------------113、普通表單----------------------------------------------------------12-"Listeners-----------------------------13-"任務(wù)-------------------------------------------14-"!--"UserTask-------------------------14-"--"General----------------------14-"--"Mainconfig------------------15-"-"Listeners-------------------16-"-"Multiinstance--------------16-"網(wǎng)關(guān)--------------------------------------------17流程文件:-"Pracess〔該流程的根本數(shù)據(jù),流程名字等〕-----------------------------------------------------<processid="Process"name="請(qǐng)假流程-普通表單"isE*ecutable="true"><documentation>請(qǐng)假流程演示</documentation></process>------------------------------------------------------"DataObjects〔插入一條可以公用的數(shù)據(jù)〕-----------------------------------------------------<processid="myProcess"name="Myprocess"isE*ecutable="true"><documentation>這是一個(gè)演示</documentation><dataObjectid="wsy"name="wsy"itemSubjectRef="*sd:string"><e*tensionElements><activiti:value>汪詩(shī)雨</activiti:value></e*tensionElements></dataObject></process>------------------------------------------------------"Listeners〔執(zhí)行監(jiān)聽(tīng)器〕Javaclass,E*pression,Delegatee*pression都有域,其中的值可以傳給監(jiān)聽(tīng)器-----------------------------------------------------<e*tensionElements><activiti:e*ecutionListenerevent="start"class="org.*demo.e*ample.activiti.Cdi.event.ABC"><activiti:fieldname="user"><activiti:string><![CDATA[HelloWord]]></activiti:string></activiti:field></activiti:e*ecutionListener></e*tensionElements>------------------------------------------------------"--"Javaclass注意:class需要實(shí)現(xiàn)接口-----------------------------------------------------<processid="myProcess"name="Myprocess"isE*ecutable="true"><documentation>這是一個(gè)演示</documentation><e*tensionElements><activiti:e*ecutionListenerevent="start"class="org.*demo.e*ample.activiti.Cdi.event.ABC"></activiti:e*ecutionListener></e*tensionElements></process>------------------------------------------------------"--"E*pression定義一個(gè)表達(dá)式類(lèi)似EL語(yǔ)法。這里的pojo是一個(gè)Bean的名稱(chēng)〔可以用spring代理〕,還可以子e*pression過(guò)計(jì)算一個(gè)表達(dá)式配置監(jiān)聽(tīng)器的名稱(chēng)-----------------------------------------------------<processid="myProcess"name="Myprocess"isE*ecutable="true"><documentation>這是一個(gè)演示</documentation><e*tensionElements><activiti:e*ecutionListenerevent="end"e*pression="${pojo.method(e*ecutionListenerForStart)}"></activiti:e*ecutionListener></e*tensionElements></process>------------------------------------------------------"--"DelegateE*pression這里指定的是一個(gè)spring代理的業(yè)務(wù)bean,業(yè)務(wù)bean必須實(shí)現(xiàn)接口:-----------------------------------------------------<processid="myProcess"name="Myprocess"isE*ecutable="true"><documentation>這是一個(gè)演示</documentation><e*tensionElements><activiti:e*ecutionListenerevent="start"delegateE*pression="${aBean}"></activiti:e*ecutionListener></e*tensionElements></process>------------------------------------------------------"啟動(dòng)節(jié)點(diǎn)〔每一個(gè)流程都有一個(gè)啟動(dòng)節(jié)點(diǎn),此節(jié)點(diǎn)是流程進(jìn)如的地方〕啟動(dòng)時(shí)間的三種類(lèi)型:1.空啟動(dòng)事件2.定時(shí)啟動(dòng)事件3.啟動(dòng)事件4.異常啟動(dòng)事件*注:其中第四個(gè)異常啟動(dòng)事件和另為3個(gè)又不一樣-"--"General-----------------------------------------------------<processid="myProcess"name="Myprocess"isE*ecutable="true"><documentation>這是一個(gè)演示</documentation><startEventid="startevent1"name="Start"></startEvent></process>------------------------------------------------------"--"Mainconfig*注:Initiator:可以用來(lái)記錄啟動(dòng)流程人的id〔也可以是用戶的名稱(chēng)〕啟動(dòng)流程之后次屬性指定的變量就會(huì)自動(dòng)設(shè)置當(dāng)前人的名稱(chēng)Formkey:可以用來(lái)指定空啟動(dòng)事件關(guān)聯(lián)表單-----------------------------------------------------<processid="myProcess"name="Myprocess"isE*ecutable="true"><documentation>這是一個(gè)演示</documentation><startEventid="startevent1"name="Start"activiti:initiator="applyUserId"activiti:formKey="startUserId"></startEvent></process>------------------------------------------------------"--"Documentation-----------------------------------------------------<processid="myProcess"name="Myprocess"isE*ecutable="true"><documentation>這是一個(gè)演示</documentation><startEventid="startevent1"name="Start"activiti:initiator="applyUserId"activiti:formKey="startUserId"></startEvent><documentation>abc</documentation></process>------------------------------------------------------"--"Form(表單)*注:Activiti的空啟動(dòng)事件和任務(wù)事件都是以表單的形式提交給流程引擎作用:當(dāng)我們要翻開(kāi)任務(wù)表單的時(shí)候可以重定向到任務(wù)表單,重定向的action如:formKey+""id="+objId+"&taskId="+taskId;objId為業(yè)務(wù)對(duì)象Id,taskid為任務(wù)id,這樣就可以在任務(wù)表單獲取到想要的信息一般使用的表單大概有三種:1、動(dòng)態(tài)表單〔在流程文件里定義〕-----------------------------------------------------<processid="myProcess"name="Myprocess"isE*ecutable="true"><documentation>這是一個(gè)演示</documentation><startEventid="startevent1"name="Start"activiti:initiator="applyUserId"activiti:formKey="startUserId"><e*tensionElements><activiti:formPropertyid="id"name="id"type="string"e*pression="${leave.reason}"variable="aUser"default="abc"></activiti:formProperty></e*tensionElements></startEvent></procss>-----------------------------------------------------2、外置表單〔在流程文件里定義〕這種方式常用于基于工作流平臺(tái)開(kāi)發(fā)的方式,代碼寫(xiě)的很少,開(kāi)發(fā)人員只要把表單容寫(xiě)好保存到.form文件中即可,然后配置每個(gè)節(jié)點(diǎn)需要的表單名稱(chēng)〔formkey〕,實(shí)際運(yùn)行時(shí)通過(guò)引擎提供的API讀取Task對(duì)應(yīng)的form容輸出到頁(yè)面。此種方式對(duì)于在經(jīng)常添加新流程的需求比擬適用,可以快速發(fā)布新流程,把流程設(shè)計(jì)出來(lái)之后再設(shè)計(jì)表單之后兩者關(guān)聯(lián)就可以使用了。例如公司部各種簡(jiǎn)單的審批流程,沒(méi)有業(yè)務(wù)邏輯處理,僅僅是多級(jí)審批是否通過(guò)等等情況當(dāng)流程需要一些特殊處理時(shí)可以借助Listener或者Delegate方式實(shí)現(xiàn)。ActivitiE*plorer就是使用的這種方式,表單信息都配置在流程定義文件中。-----------------------------------------------------<processid="myProcess"name="Myprocess"isE*ecutable="true"><documentation>這是一個(gè)演示</documentation><starteventid="startevent"name="Start"activiti:formkey="diagrams/form/start.form"></startevent></startEvent></procss>-----------------------------------------------------3、普通表單〔jsp,html,jsf文件里〕這個(gè)是最靈活的一種方式,常用于業(yè)務(wù)比擬復(fù)雜的系統(tǒng)中,或者業(yè)務(wù)比擬固定不變的需求中,例如ERP系統(tǒng)。普通表單的特點(diǎn)是把表單的容存放在一個(gè)頁(yè)面〔jsp、jsf、html等〕文件中,存放方式也有兩種〔一體式、別離式〕:1.一體式:把整個(gè)流程涉及到的表單放在一個(gè)文件然后根據(jù)處理的任務(wù)名稱(chēng)匹配顯示,demo的普通表單模式就是一體式的做法,把表單容封裝在一個(gè)div里面,div的ID以節(jié)點(diǎn)的名稱(chēng)命名,點(diǎn)擊“辦理〞按鈕時(shí)用對(duì)話框的方式把div的容顯示給用戶。2.別離式:對(duì)于非Aja*應(yīng)用來(lái)說(shuō)比擬常用,每個(gè)任務(wù)對(duì)應(yīng)一個(gè)頁(yè)面文件,點(diǎn)擊辦理的時(shí)候根據(jù)任務(wù)的ID動(dòng)態(tài)指定表單頁(yè)面。和以上兩種方式比擬有兩點(diǎn)區(qū)別:表單:和第二種外置表單類(lèi)似,但是表單的顯示、表單字段值填充均由開(kāi)發(fā)人員寫(xiě)代碼實(shí)現(xiàn)。數(shù)據(jù)表:數(shù)據(jù)表單獨(dú)設(shè)計(jì)而不是和前兩種一樣把數(shù)據(jù)以key、value形式保存在引擎表中。------------------------------------------------------"Listeners〔執(zhí)行監(jiān)聽(tīng)器〕*注:這里的監(jiān)聽(tīng)器和流程的執(zhí)行監(jiān)聽(tīng)器是一樣的〔詳細(xì)可以看第5頁(yè)〕-"任務(wù)〔流程中最重要的組成局部,根據(jù)業(yè)務(wù)的不同也分為很多種類(lèi)型〕-"!--"UserTask-"--"General*注:與空啟動(dòng)事件相比General下多了兩個(gè)屬性Asynchronous:是否異步〔當(dāng)流程執(zhí)行到并行網(wǎng)關(guān)如上圖,其后面有多個(gè)UserTask節(jié)點(diǎn)時(shí),是否異步執(zhí)行這些任務(wù)節(jié)點(diǎn)〕E*clusive:是否獨(dú)占〔同一個(gè)流程實(shí)例在同一時(shí)刻只能執(zhí)行一個(gè)任務(wù)〕-----------------------------------------------------<processid="myProcess"name="Myprocess"isE*ecutable="true"><documentation>這是一個(gè)演示</documentation><userTaskid="usertask1"name="UserTask"></userTask></startEvent></procss>------------------------------------------------------"--"Mainconfig-----------------------------------------------------<processid="myProcess"name="Myprocess"isE*ecutable="true"><documentation>這是一個(gè)演示</documentation><userTaskid="usertask1"name="UserTask"activiti:assignee="徐總"activiti:dueDate="${overDate}"activiti:priority="${priority}"></userTask></startEvent></procss>------------------------------------------------------"-"Listeners〔任務(wù)監(jiān)聽(tīng)器〕*注:這里叫做任務(wù)監(jiān)聽(tīng)器,和執(zhí)行監(jiān)聽(tīng)器大體一樣,只是類(lèi)實(shí)現(xiàn)的接口不同。注意:class需要實(shí)現(xiàn)接口-"-"Multiinstance〔多實(shí)例〕〔*重要*〕-----------------------------------------------------<processid="myProcess"name="Myprocess"isE*ecutable="true"><documentation>這是一個(gè)演示</documentation><

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論