Activiti 简易教程二 version5.10升级version5.12.1

本教程介绍了如何将Activiti从5.10版本升级到5.12.1。内容包括搭建环境的详细步骤,如JDK、Ant、Eclipse、插件的安装,以及在新版本下创建Activiti Demo工程,整合MySQL数据库,设计流程。此外,还提到了5.12.1版本的依赖变化,需要从5.10版本导入缺失的jar包以确保测试代码正常运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一搭建环境

1.1 JDK 6+

1.2 Ant 1.8.1+

1.3 Eclipse 3.7+

1.4 Activiti -eclipse designer插件安装

1.4.1 先安装GEF插件

1.4.2 安装SVN插件

1.4.3安装Maven插件

1.4.4 最后安装Activiti -eclipse designer

二开始activiti 5.12.1的第一个demo

2.1 建立activiti-demo工程,选择Activiti Project

2.2 activiti-demo工程的数据库整合为MySQL

2.3 设计activiti-demo工程的流程

 

以上详细描述参照Activiti 简易教程一 version5.10(http://blog.youkuaiyun.com/yangyi22/article/details/9225849

测试类代码 DemoProcessTest.java

package main.java;

import java.io.FileInputStream;
import java.util.List;
import org.activiti.engine.HistoryService;
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.history.HistoricProcessInstance;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.Task;

public class DemoProcessTest {
	// diagrams实际路径
		private static String realPath = 
				"D:\\Java~coding~site\\J2EE-IDE\\Workspace\\workspace[indigo-jee]" +
				"\\activiti-512demo\\src\\main\\resources\\diagrams";
		public static void main(String[] args) throws Exception {
			// 创建 Activiti流程引擎
			//方式一 自动寻找activiti.cfg.xml
			ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
			
			//方式二 指定加载activiti.cfg.xml
//			ProcessEngine processEngine = ProcessEngineConfiguration
//					.createProcessEngineConfigurationFromResource("activiti.cfg.xml")
//					.buildProcessEngine();
			
			// 取得 Activiti 服务
			RepositoryService repositoryService = processEngine.getRepositoryService();
			RuntimeService runtimeService = processEngine.getRuntimeService();

			// 部署流程定义
			repositoryService
					.createDeployment()
					.addInputStream("DemoProcess.bpmn",new FileInputStream(realPath + "\\DemoProcess.bpmn"))
					.addInputStream("DemoProcess.png", new FileInputStream(realPath + "\\DemoProcess.png"))
					.deploy();
			
			// 启动流程实例
			ProcessInstance instance = processEngine
					 .getRuntimeService().startProcessInstanceByKey("DemoProcess");
			String procId = instance.getId();
			System.out.println("procId:"+ procId);
			
			// 获得第一个任务
			TaskService taskService = processEngine.getTaskService();
			List<Task> tasks = taskService.createTaskQuery().taskDefinitionKey("firstTask").list();
			for (Task task : tasks) {
				System.out.println("Following task is: taskID -" +task.getId()+" taskName -"+ task.getName());
				// 认领任务
				taskService.claim(task.getId(), "testUser");
			}
			 
			// 查看testUser 现在是否能够获取到该任务
			tasks = taskService.createTaskQuery().taskAssignee("testUser").list();
			for (Task task : tasks) {
				System.out.println("Task for testUser: " + task.getName());
				// 完成任务
				taskService.complete(task.getId());
			}
			System.out.println("Number of tasks for testUser: "
					+ taskService.createTaskQuery().taskAssignee("testUser").count());
			

			// 获取并认领第二个任务
			tasks = taskService.createTaskQuery().taskDefinitionKey("secondTask").list();
			for (Task task : tasks) {
				System.out.println("Following task is : taskID -" +task.getId()+" taskName -"+ task.getName());
				taskService.claim(task.getId(), "testUser");
			}
			
			//完成第二个任务结束结束流程
			for (Task task : tasks) {
				taskService.complete(task.getId());
			}
			
			// 核实流程是否结束
			HistoryService historyService = processEngine.getHistoryService();
			HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery().processInstanceId(procId).singleResult();
			System.out.println("Process instance end time: " + historicProcessInstance.getEndTime());
		}

}


 

 依赖jar包说明

         Activiti5.10以后的版本已经去掉第三方的jar包,从官网下载的Activiti5.12.1的依赖包仅仅包含activiti相关的jar,目录libs下的jar包如下:

       

       

       

 

运行测试代码,会发现少了很多依赖包,我的处理的方法是直接从5.10版本导入缺少的jar包,导入后测试代码通过。

jar包:

       

        

 

教程二完毕。

Create By :http://blog.youkuaiyun.com/yangyi22/article/details/9254481 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值