Activiti5 學習筆記 基礎篇一


一 Activiti 啟動事件與結束事件

1, 空啟動事件 (常用)

 屬性:activiti:formKey 指定事件關聯的表單文件。

有兩種表單:

①外置表單 如:activiti:formKey="xxx-start.form".

②動態表單  

<extensionElements> 

<activiti:formProperty id="startDate" name="開始日期" type="date" datePattern="yyyy-MM-dd" writable="false"></activiti:formProperty>

</extensionElements>

activiti:initiator 記錄流程啟動人ID(也可以是名稱).  activiti:initiator="userName"

通過啟動時 identityService.setAuthenticatedUserId( id ); 設置,至整個流程都可以用${userName}.訪問。

2, 定時啟動事件  

<timerEventDefinition><timeCycle>R4/PT10H</timeCycle></timerEventDefinition>

3, 異常啟動事件

4, 消息啟動事件

5, 結束事件

又分①空結束事件(常用)  ②異常結束事件  ③取消結束事件  (暫時木有發現怎么實用,一般空結束)

二 順序流 

分為標准順序流與條件順序流

activiti 中不作具體區別 有設置conditionExpression的就是條件順序流, 條件表達式只支持UEL,

如:<conditionExpression xsi:type="tFormalExpression"><![CDATA[${isMan== 'false'}]]></conditionExpression>;

順序流中可以設置監聽器。

三 任務

用戶任務  (常用)

屬性

activiti:assignee   指定的處理人

activiti:cadidateUsers  指定用戶任務的候選人,多個可用',' 分隔。

activiti:cadidateGroups 指定候選組,多個可用',' 分隔。

指定候選人和候選組都需要先簽收,再處理.

activiti:dueDate 設置用戶任務到期日.

activiti:priority  任務優先級 [0,100].

用戶任務也可以添加監聽器.

<extensionElements>

<activiti:taskListener class="com.xx.xx" event="complete"/>

</extensionElements>

腳本任務

java service 任務

web service 任務

業務規則任務

郵件任務

camel 任務  Mule任務  

手動任務

接收任務

Shell 任務

多實例任務 

以上沒說明的任務都不熟悉,大概什么時候有需求的時候再研究下。

 

四 網關

排他網關  (常用)

只有線路為true才執行,並且多個線路為true只執行第一個true的網關。

<exclusiveGateway id="geteway" default="flow1"/>

並行網關

線路大家一起執行,不會管線路上的設置條件,如有設置則忽略。

分為拆分、合並階段,不必一一對應,有始有終即可。

<parallelGateway id="bingxing" name="bingxing"/>

包容網關

排他網關與並行網關的合成體,可以一起執行,也可以設置線路條件。

事件網關

 

五 子流程與調用活動    (待實用寫)

六 邊界與中間事件       (待實用寫)

七 監聽器 

如上所述的線路與用戶任務上都可以設置監聽器。

event 有三種 start, take, end.

執行監聽器

作用在流程啟動、結束、線路開始結束上。

執行類型:

class  設置監聽類    expression  監聽表達式  delegateExpression指定監聽接口,具體類可以在引擎中配置或Spring代理.

如: <activiti:executionListener event="start" class="com.xx.xx"/>, <activiti:executionListener event="start" expression="${name}"/>

任務監聽器

作用於用戶任務

監聽三種事件: 

create: 任務創建且所有任務屬性設置完全之后觸發。

assignment: 任務分配給某個班里人之后觸發,並在create之后。

complete: 任務完成時觸發,在運行時任務數據被刪除之前觸發(act_ru_task表數據清之前)。

執行類型:

class  設置監聽類    expression  監聽表達式  delegateExpression指定監聽接口,具體類可以在引擎中配置或Spring代理.

如:

<userTask id="task1" name="用戶任務">

<extensionElements>

   <activiti:taskListener event="complete" class="com.task.listener.taskForUserTaskComplete"/>

</extensionElements>

</userTask>

 

暫時寫到這里,待續...

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM