Activiti学习笔记第四篇:HelloWorld程序(模拟流程的执行)

1. 流程图:

在这里插入图片描述

2.部署流程定义

// 发布流程
@Test
public void deploy() throws Exception{
   	// 获取流程引擎
   	ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
   	// 获取仓库服务实例
   	Deployment deployment = processEngine.getRepositoryService()
   										.createDeloyment()
   										.addClasspathResource("diagrams/Leave.bpmn")
   										.addClasspathResource("diagrams/Leave.png")
   										.deploy();
}

这里使用RepositoryService部署流程定义
addClasspathResource表示从类路径下加载资源文件,一次只能加载一个文件

3. 启动流程实例

// 2.启动流程实例
@Test
public void startProcess() throws Exception {
	// 获取流程引擎对象
	ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
	// 启动流程
	// 使用流程定义的key启动流程实例,默认会按照最新版本启动流程实例
	ProcessInstance pi = processEngine.getRuntimeService()
									.startProcessInstanceByKey("myProcess");
	System.out.println("pid:" + pi.getId() + ",activitiId:" + pi.getActivityId());
}

这里使用RuntimeService启动流程实例

4. 查看我的个人任务

// 3.查看任务
@Test
public void queryMyTask() throws Exception {
	// 指定任务办理者
	String assignee = "张三";
	// 获取流程引擎对象
	ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
	// 查询任务的列表
	List<Task> tasks = processEngine.getTaskSErvice()
							.createTaskQuery()//创建任务查询对象
							.taskAssignee(assignee)//指定个人任务办理人
							.list();
	// 遍历结合查看内容
	for (Task task : tasks) {
		System.out.println("taskId:" + task.getId() + ",taskName:" + task.getName());
		System.out.println("*******************");
	}
}

这里使用TaskService完成任务的查询

5. 完成我的个人任务

// 4.办理任务
@Test
public void completeTask() throws Exception {
	String taskId = "104"
	// 获取流程引擎对象
	ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
	// 完成任务
	processEngine.getTaskServcie()
				.complete(taskId);
	System.out.println("完成任务");
}

这里使用TaskService完成任务的办理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值