啓動事件元素就是啓動流程實例的,也就是發起一個流程的,是流程的起點。它能夠配置的很簡單,也能夠很複雜。java
StartEvent:空啓動事件。它的屬性介紹以下:express
Id: id 標識編號異步
Name: 名稱async
asynchronous:是否異步(默認否)表示是否能被異步執行。ide
exclusive: 是否排他(默認是)表示同一個流程實例在同一時刻只能由一我的執行該步驟, 跟asynchronous互斥。ui
initiator:定義一個變量來記錄誰發起了該流程實例。spa
Form Key:與其關聯的一個外部表單的名字,若是採用了外部表單的話。.net
Documentation:文檔說明 orm
Form properties:動態表單對象
在這裏能夠定義一個動態表單,下面是具體的屬性介紹。
Id: 字段的主鍵,惟一標識
Name: 字段的名稱
Type: 字段的類型 ,如 string 、long、enum(下拉選擇)、date、boolean
Expression:表達式。能夠經過計算表達式設置字段的值
Variable:將字段的值以Variable指定的變量名保存。
Default:字段的默認值
Date pattern:屬性type爲date時,須要設置此屬性定義日期格式,例如:yyyy-MM-dd
Readable:是否能夠讀
Writable:是否能夠寫
Required:是否必填
Form values:當type爲enum時有效。指定多個下拉選項值讓其選擇。
執行監聽器:容許在執行流程過程當中執行java代碼(實現了監聽器的接口)或者表達式,下面是具體屬性介紹:
event: 監聽事件。分爲start、end、take三類。分別表示監聽啓動、結束、通過三種事件。
Type:執行類型。Javaclass:經過指定項目中的類,實現監聽執行。(該類需實現org.activiti.engine.delegate.ExecutionListener 接口)
列子代碼:
public class MyTaskListener implements TaskListener{
private static final long serialVersionUID = 1L;
public void notify(DelegateTask delegateTask) {
// TODOAuto-generated method stub
delegateTask.setAssignee("趙六"); // 指定辦理人
}
}
Expression:經過表達式來實現監聽執行。
Delegate expression: 引用一個JavaDelegate來調用java bean。
列子代碼:
public class ExectuionListenerDemoimplements Serializable, ExecutionListener {
privatestatic final long serialVersionUID = 8513750196548027535L;
publicvoid notify(DelegateExecution execution) throws Exception {
System.out.println("流程監聽器");
}
}
Alfresco execution script: 外部定義的執行腳本
Alfresco task script:外部定義的任務腳本
Fields: 值域。 能夠做爲參數值傳給上面指定的執行對象。
Field Name: 值域名稱
String Value:值域值
Expression:值域表達式