流程图

License Badge

部署流程定义

/**
 * 部署流程定义
 */
@Test
public void deploymentProcessDefinition() {
	ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
	Deployment deployment = processEngine.getRepositoryService()// 与流程定义和部署对象相关的Service
			.createDeployment() // 创建一个部署对象
			.name("activiti").addClasspathResource("helloworld.bpmn")// 从classpath的资源中加载
			.addClasspathResource("helloworld.png").deploy(); // 完成部署

	System.out.println("ID: " + deployment.getId());
	System.out.println("name: " + deployment.getName());
}

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

启动流程实例

/**
 * 启动流程实例
 */
@Test
public void startProcessInstance() {
	ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
	String processDefinitionKey = "helloworld";
	ProcessInstance pi = processEngine.getRuntimeService()
			.startProcessInstanceByKey(processDefinitionKey);

	System.out.println("流程实例ID:" + pi.getId());
	System.out.println("流程定义ID:" + pi.getProcessDefinitionId());
}

这里使用 RuntimeService 启动流程实例

查看我的个人任务

/**
 * 查询当前人的个人认为
 */
@Test
public void findMyPersonTask() {
	ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
	String assignee = "张三";
	List<Task> list = processEngine.getTaskService().createTaskQuery()
			.taskAssignee(assignee).list();
	for (Task task : list) {
		System.out.println(task.getId());
		System.out.println(task.getName());
		System.out.println(task.getCreateTime());
		System.out.println(task.getAssignee());
	}
}

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

完成我的个人任务

/**
 * 完成我的任务
 */
@Test
public void completeMyPersonTask() {
	ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
	String taskId = "104";
	processEngine.getTaskService().complete(taskId);

	System.out.println("完成任务:" + taskId);
}

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