- 在浏览器输入 http://localhost:8080/activiti-app 进入app项目登陆界面,输入用户名和密码(amdin/test)进入系统:

- 点击【Identity Management】图标,进入用户管理界面

- 选择【Users】面板,点击【Create User】按钮,新建用户

- 输入用户信息

- 创建两个用户worker和leader,列表如下

- 点击页面左上角的图标,进入主界面

- 点击【Kickstart App】图标,进入流程界面

- 点击【Create Process】按钮:设置流程名称

- 在开始节点点击头像图标,创建第一个节点

- 设置第一个节点

- 继续创建第二个节点和流程结束节点:

- 设置节点的【Assignments】

- 选择分配给单个用户

- 第一个节点的设置结果

- 第二个节点的设置结果

- 点击左上角的按钮,保存流程

- 创建应用

- 设置应用信息

- 准备将流程添加到应用,点击【Edit included models】进入添加页面

- 点击流程,将流程添加到应用,右上角的图标变成实心的即表示添加成功

- 流程添加完成

- 准备应用发布,点击右上角的【Publish】按钮

- 确认发布

- 应用发布完成

- 使用worker账号登陆系统,准备发起流程

- 点击【Start process】,发起流程,可以点击Comments旁边的+号填入备注信息

- 流程流转图,现阶段节点在worker这里

- 点击【Complete】按钮,发起流程

- 流程流转图,现阶段节点已转到leader这里

- 使用 leader 账号登陆系统,leader登陆后的界面,有一个任务需要审核,点击右上角的【Complete】可以进行审核

- 直接点击【Process】面板,可以查看流程详情

- 点击【Task】面板右上角的【Complete】完成审核

- 在浏览器输入 http://localhost:8080/activiti-admin 进入admin项目登陆界面,输入用户名和密码(amdin/admin)进入系统:

- admin项目首页

- 修改端口信息,记得修改密码信息为test,因为app项目的admin账号对应的密码是test:

- 校验信息

- 已发布的信息列表

- 流程定义列表

- 单个流程信息详情

- 实例信息列表

- 任务信息列表

- 任务详细信息

- 创建一个Java的Maven工程

- Maven 依赖
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-engine</artifactId>
<version>6.0.0</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.21</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.21</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
</dependencies>
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- 流程引擎配置的bean -->
<bean id="processEngineConfiguration"
class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/act?
useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&useSSL=false" />
<property name="jdbcDriver" value="com.mysql.jdbc.Driver" />
<property name="jdbcUsername" value="root" />
<property name="jdbcPassword" value="1234" />
<property name="databaseSchemaUpdate" value="true" />
</bean>
</beans>
<?xml version="1.0" encoding="UTF-8"?>
<definitions ...">
<process id="myProcess" name="My process" isExecutable="true">
<startEvent id="startevent1" name="Start"></startEvent>
<endEvent id="endevent1" name="End"></endEvent>
<userTask id="usertask1" name="Write Vacation"></userTask>
<userTask id="usertask2" name="Audit"></userTask>
<sequenceFlow id="flow1" sourceRef="startevent1" targetRef="usertask1"></sequenceFlow>
<sequenceFlow id="flow2" sourceRef="usertask1" targetRef="usertask2"></sequenceFlow>
<sequenceFlow id="flow3" sourceRef="usertask2" targetRef="endevent1"></sequenceFlow>
</process>
<bpmndi:BPMNDiagram id="BPMNDiagram_myProcess">
<bpmndi:BPMNPlane bpmnElement="myProcess" id="BPMNPlane_myProcess">
<bpmndi:BPMNShape bpmnElement="startevent1" id="BPMNShape_startevent1">
<omgdc:Bounds height="35.0" width="35.0" x="220.0" y="250.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="endevent1" id="BPMNShape_endevent1">
<omgdc:Bounds height="35.0" width="35.0" x="701.0" y="250.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="usertask1" id="BPMNShape_usertask1">
<omgdc:Bounds height="55.0" width="105.0" x="320.0" y="240.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="usertask2" id="BPMNShape_usertask2">
<omgdc:Bounds height="55.0" width="105.0" x="521.0" y="240.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge bpmnElement="flow1" id="BPMNEdge_flow1">
<omgdi:waypoint x="255.0" y="267.0"></omgdi:waypoint>
<omgdi:waypoint x="320.0" y="267.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow2" id="BPMNEdge_flow2">
<omgdi:waypoint x="425.0" y="267.0"></omgdi:waypoint>
<omgdi:waypoint x="521.0" y="267.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow3" id="BPMNEdge_flow3">
<omgdi:waypoint x="626.0" y="267.0"></omgdi:waypoint>
<omgdi:waypoint x="701.0" y="267.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</definitions>
public class App {
public static void main(String[] args) {
// 新建流程引擎
ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();
// 关闭流程引擎
engine.close();
}
}
04:04:56,050 [main] INFO org.activiti.engine.impl.db.DbSqlSession -
performing create on engine with resource org/activiti/db/create/activiti.mysql.create.engine.sql
04:04:56,080 [main] INFO org.activiti.engine.impl.db.DbSqlSession -
Found MySQL: majorVersion=5 minorVersion=7
04:05:25,503 [main] INFO org.activiti.engine.impl.db.DbSqlSession -
performing create on history with resource org/activiti/db/create/activiti.mysql.create.history.sql
04:05:25,511 [main] INFO org.activiti.engine.impl.db.DbSqlSession -
Found MySQL: majorVersion=5 minorVersion=7
04:05:29,757 [main] INFO org.activiti.engine.impl.db.DbSqlSession -
performing create on identity with resource org/activiti/db/create/activiti.mysql.create.identity.sql
04:05:29,764 [main] INFO org.activiti.engine.impl.db.DbSqlSession -
Found MySQL: majorVersion=5 minorVersion=7
04:05:31,511 [main] INFO org.activiti.engine.impl.ProcessEngineImpl - ProcessEngine default created
04:05:31,790 [main] INFO org.activiti.engine.ProcessEngines - initialised process engine default
-
表act_re_deployment新增1条记录

-
表act_ge_bytearray新增2条记录

-
第1条记录详情,xml格式文档

-
第2条记录详情,图片格式的流程

-
创建流程
public class App {
public static void main(String[] args) {
// 新建流程引擎
ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();
// 存储服务
RepositoryService repositoryService = engine.getRepositoryService();
// 运行时服务
RuntimeService runtimeService = engine.getRuntimeService();
// 任务服务
TaskService taskService =engine.getTaskService();
// 部署服务
repositoryService.createDeployment().addClasspathResource("MyFirstProcess.bpmn").deploy();
// process的id属性
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("myProcess");
// 普通员工完成请假的任务
Task task = taskService.createTaskQuery().processInstanceId(processInstance.getId()).singleResult();
System.out.println("当前流程节点:" + task.getName());
taskService.complete(task.getId());
// 经理审批任务
task = taskService.createTaskQuery().processInstanceId(processInstance.getId()).singleResult();
System.out.println("当前流程节点:" + task.getName());
taskService.complete(task.getId());
// 流程结束
task = taskService.createTaskQuery().processInstanceId(processInstance.getId()).singleResult();
System.out.println("流程结束:" + task);
// 关闭流程引擎
engine.close();
}
}
04:34:35,090 [main] INFO org.activiti.engine.compatibility.DefaultActiviti5CompatibilityHandlerFactory
- Activiti 5 compatibility handler implementation not found or error during instantiation :
- org.activiti.compatibility.DefaultActiviti5CompatibilityHandler. Activiti 5 backwards compatibility disabled.
04:34:35,196 [main] INFO org.activiti.engine.impl.ProcessEngineImpl - ProcessEngine default created
04:34:35,202 [main] INFO org.activiti.engine.ProcessEngines - initialised process engine default
当前流程节点:Write Vacation
当前流程节点:Audit
流程结束:null
- 打开数据库 preformance_schema ,执行下面的语句
SELECT
TABLE_NAME,
DATA_LENGTH,
INDEX_LENGTH,
(DATA_LENGTH + INDEX_LENGTH) AS length,
TABLE_ROWS,
concat(
round(
(DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024,
3
),
'MB'
) AS total_size
FROM
information_schema. TABLES
WHERE
TABLE_SCHEMA = 'act'
ORDER BY
TABLE_ROWS DESC
TABLE_NAME DATA_LENGTH INDEX_LENGTH length TABLE_ROWS total_size
act_hi_actinst 16384 65536 81920 24 0.078MB
act_ge_bytearray 98304 16384 114688 14 0.109MB
act_hi_taskinst 16384 16384 32768 12 0.031MB
act_re_deployment 16384 0 16384 7 0.016MB
act_re_procdef 16384 16384 32768 7 0.031MB
act_hi_procinst 16384 49152 65536 6 0.063MB
act_ge_property 16384 0 16384 4 0.016MB
act_re_model 16384 49152 65536 0 0.063MB
act_id_group 16384 0 16384 0 0.016MB
act_ru_job 16384 65536 81920 0 0.078MB
act_ru_identitylink 16384 81920 98304 0 0.094MB
act_hi_varinst 16384 0 16384 0 0.016MB
act_procdef_info 16384 32768 49152 0 0.047MB
act_evt_log 16384 0 16384 0 0.016MB
act_ru_execution 16384 98304 114688 0 0.109MB
act_id_user 16384 0 16384 0 0.016MB
act_hi_identitylink 16384 0 16384 0 0.016MB
act_ru_variable 16384 65536 81920 0 0.078MB
act_hi_detail 16384 0 16384 0 0.016MB
act_ru_event_subscr 16384 32768 49152 0 0.047MB
act_ru_timer_job 16384 65536 81920 0 0.078MB
act_hi_comment 16384 0 16384 0 0.016MB
act_ru_deadletter_job 16384 65536 81920 0 0.078MB
act_id_membership 16384 16384 32768 0 0.031MB
act_hi_attachment 16384 0 16384 0 0.016MB
act_ru_task 16384 65536 81920 0 0.078MB
act_id_info 16384 0 16384 0 0.016MB
act_ru_suspended_job 16384 65536 81920 0 0.078MB