复习步骤1-第一个activiti程序
步骤
1.设计流程
--即在resource资源文件下新建一个first.bmpn流程图文件
2.配置流程引擎
3.加载流程文件
4.启动流程
项目结构如图
FirstAct.java
package com.xiangshuai.act;
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService;
import org.activiti.engine.task.Task;
/**
* @author lqx
* 文件在 E:\学习文档子目录压缩\框架\工作流引擎\Activiti6.0\window\复习步骤1-第一个activiti程序
* 或 我的网盘\我的笔记学习文档子目录压缩\框架\工作流引擎\Activiti6.0\window\复习步骤1-第一个activiti程序
*
*/
public class FirstAct {
public static void main(String[] args) {
// 创建流程引擎
ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();
// 得到流程存储服务组件 --- 会创建 流程所需的28个表及其字段
RepositoryService repositoryService = engine.getRepositoryService();
// 得到运行时服务组件
RuntimeService runtimeService = engine.getRuntimeService();
// 获取流程任务组件
TaskService taskService = engine.getTaskService();
// 部署流程文件
repositoryService.createDeployment()
.addClasspathResource("first.bpmn").deploy();
// 启动流程
runtimeService.startProcessInstanceByKey("myProcess"); //myProcess事first.bpmn的id值 如<process id="myProcess"
// 查询第一个任务
Task task = taskService.createTaskQuery().singleResult();
System.out.println("第一个任务完成前,当前任务名称:" + task.getName());//第一个任务完成前,当前任务名称:worker
// 完成第一个任务 -- 员工提交申请
taskService.complete(task.getId());
// 查询第二个任务 --
task = taskService.createTaskQuery().singleResult();
System.out.println("第二个任务完成前,当前任务名称:" + task.getName());//第二个任务完成前,当前任务名称:leader
// 完成第二个任务(流程结束) -- 领导审批
taskService.complete(task.getId());
task = taskService.createTaskQuery().singleResult();
System.out.println("流程结束后,查找任务:" + task);//流程结束后,查找任务:null
// 退出
System.exit(0);
}
}