`
mjbb
  • 浏览: 86763 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Jbpm工作流测试代码

    博客分类:
  • JBPM
阅读更多
package cn.itcast.jbpm.firstapp;

import java.util.List;

import org.hibernate.cfg.Configuration;
import org.jbpm.JbpmConfiguration;
import org.jbpm.JbpmContext;
import org.jbpm.graph.def.ProcessDefinition;
import org.jbpm.graph.exe.ProcessInstance;
import org.jbpm.taskmgmt.exe.TaskInstance;
import org.junit.Test;

public class HelloWorld {

	//生成数据表
	@Test
	public void createSchema(){
		new Configuration().configure().buildSessionFactory();
	}
	//发布工作流版本
	@Test
	public void deployProcessDefintion(){
		String path = "app/helloworld.zip";
		//1.加载jbpm的配置文件
		JbpmConfiguration jcf = JbpmConfiguration.getInstance();
		JbpmContext jContext = jcf.createJbpmContext();
		
		//2.加载app
		ProcessDefinition pd = ProcessDefinition.parseParResource(path);
		//3.发布流
		jContext.deployProcessDefinition(pd);
		jContext.close();
	}
	//找到最新版本并创建实例
	@Test
	public void instanceProcess(){
		JbpmConfiguration jcf = JbpmConfiguration.getInstance();
		JbpmContext jContext = jcf.createJbpmContext();
		//找到最新版本的helloworld工作流app
		ProcessDefinition pd = jContext.getGraphSession()//
		.findLatestProcessDefinition("helloworld");
		//实例工作流
		ProcessInstance pi = pd.createProcessInstance();
		pi.getRootToken().signal();
		
		jContext.close();
		
	}
	//获取未完成的任务列表
	@Test
	public void getTaskInstanceList(){
		JbpmConfiguration jcf = JbpmConfiguration.getInstance();
		JbpmContext jContext = jcf.createJbpmContext();
		String actorId = "员工";
		List<TaskInstance> list = jContext.getTaskList(actorId);
		
		System.out.println("----------> 【" + actorId + "】的任务列表:");
		for (TaskInstance ti : list) {
			System.out.println("id=" + ti.getId()// 主键值
					+ ",name=" + ti.getName()// 任务名称
					+ ",actorId=" + ti.getActorId()// 办理者
					+ ",createTime=" + ti.getCreate()// 创建时间
					+ ",startTime=" + ti.getStart()// 开始时间
					+ ",endTime=" + ti.getEnd()); // 结束时间
		}
		jContext.close();
	}
	long taskInstanceId =2;
	//开始未完成的任务(Task)根据对应表中的Id
	@Test
	public void startTask(){
		JbpmConfiguration jcf = JbpmConfiguration.getInstance();
		JbpmContext jContext = jcf.createJbpmContext();
		TaskInstance ti = jContext.getTaskInstance(taskInstanceId);
		ti.start();
		jContext.close();
	}
	//结束未完成的任务(Task)
	@Test
	public void endTask(){
		JbpmConfiguration jcf = JbpmConfiguration.getInstance();
		JbpmContext jContext = jcf.createJbpmContext();
		TaskInstance taskInstance = jContext.getTaskInstance(taskInstanceId);
		taskInstance.end();
		jContext.close();
	}
}
分享到:
评论

相关推荐

    JBPM4工作流应用开始指南.rar

    第一篇 jBPM工作流开发基础 1 第1章 工作流基础 2 1.1 工作流概念 2 1.1.1 工作流管理思想之于企业现代化管理 2 1.1.2 工作流技术在企业中的应用 5 1.1.3 如何从一个开发者的角度看工作流技术 6 1.2 工作流管理系统...

    jbpm4.4 请假工作流 实例

    学习jbpm 的最佳例子,例子是用orcal10g 做为数据库的项目实例。本项目对jbpm 用户组 的重写 webroot 下 db 文件夹下有 自己用户角色,关系表的 sql 语句,和基本数据 可以帮助测试,流程跟踪的展示!

    基于jbpm与activiti的工作流平台技术架构介绍

    系统采用多层的系统架构进行功能开发,有利于代码功能责任分开,同时有利于不同开发人员的分工及合作,也有利于代码的单元测试。系统总体结构如下图所示: 【图二】BPMX3多层架构 •数据访问层Dao: 负责与数据库...

    一个Jbpm员工请假流程的实例

    说明,这篇文章说使用的流程实例是,学习《一个JBPM工作流管理示例》文章中的流程而来。原文中的流程实例不是jbpm3.1版本,不能适用于jbpm3.1。本人将其改写,并加入自己的设计和实现。原文地址为...

    JBPM-员工请假流程实例

    此实例包括的是一个员工请假审批的流程实例,和流程相关的代码以及相应的测试代码。此流程在Eclipse3.1.2 ,JBoss-IDE 1.6环境...说明,这篇文章说使用的流程实例是,学习《一个JBPM工作流管理示例》文章中的流程而来。

    毕业设计基于JAVA的springboot班级综合测评管理系统-1(源代码+说明)

    本系统主要使用了Java技术Springboot框架技术,结合JBPM工作流引擎以及功能强大的MySQL数据库管理工具。系统实现了个人中心、学生管理、教师管理、班级管理、综合测评管理等功能的管理,完成了系统设计任务的所有...

    毕业设计基于JAVA的springboot班级综合测评管理系统-2(源代码+说明)

    本系统主要使用了Java技术Springboot框架技术,结合JBPM工作流引擎以及功能强大的MySQL数据库管理工具。系统实现了个人中心、学生管理、教师管理、班级管理、综合测评管理等功能的管理,完成了系统设计任务的所有...

    Activiti6.0教程例子下载

    由于本人之前没有工作流及JBPM的相关基础,刚开始学习Activiti的时候可以说是无比痛苦的,根本不知道从何下手,这里也建议大家先进行工作流及BPMN2.0规范的学习,有了一定的基础后,再着手学习Activiti。 1.3.2. ...

    Joffice2.1操作手册

    系统设置负责整个系统的基础参数配置及管理功能,如系统的账号,角色管理,岗位人员管理,部门人员管理,人员维度管理,附件管理,报表设置,数据字典,签章管理,套红模板管理,工作流相关的配置及管理。...

    JBoss Seam 工作原理、seam和hibernate的范例、RESTFul的seam、seam-gen起步、seam组件、配置组件、jsf,jboss、标签、PDF、注解等等

    1.1.3. 运行测试........................................................................................................................................................... 15 1.2. 第一个例子:注册示例....

Global site tag (gtag.js) - Google Analytics