启动事件元素就是启动流程实例的,也就是发起一个流程的,是流程的起点。它能够配置的很简单,也能够很复杂。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:值域表达式