`
mjbb
  • 浏览: 88877 次
  • 性别: 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();
	}
}
分享到:
评论

相关推荐

    李腾飞JBPM工作流引擎代码test01到test04

    【李腾飞JBPM工作流引擎代码test01到test04】是一系列关于使用JBPM工作流引擎进行程序开发的示例代码。JBPM(Java Business Process Management)是一款开源的工作流管理系统,它允许开发者设计、执行和管理业务流程...

    jbpm工作流整合

    这个压缩包可能包含了一系列的资源,如源代码、配置文件、库和示例项目,旨在帮助用户快速地将jbpm工作流技术融入到自己的项目中。 首先,让我们深入了解jbpm的核心功能。jbpm支持 BPMN 2.0 标准,这是一种广泛接受...

    李腾飞JBPM工作流引擎代码test01到test02

    【李腾飞JBPM工作流引擎代码test01到test02】这个项目主要涉及的是使用JBPM(Java Business Process Management)框架实现的工作流引擎的代码示例,包括了jbpm-test01和jbpm-test02两个阶段的代码。JBPM是一款开源的...

    基于JBPM工作流的OA办公系统

    **基于JBPM工作流的OA办公系统** JBPM(Java Business Process Management)是Talend公司推出的一款开源的工作流管理系统,主要用于实现业务流程自动化。它提供了全面的工作流解决方案,包括流程设计、执行、监控和...

    JBPM工作流开发指南v10-20070706.doc

    JBPM工作流开发指南v10-20070706.doc 是一份详细的学习文档,主要针对那些想要深入理解并使用JBPM工作流引擎的开发者。JBPM(Java Business Process Management)是一个开源的工作流管理系统,它允许开发者设计、...

    一个JBPM工作流例子,JBPM

    **JBPM工作流详解** JBPM(Java Business Process Management)是一个开源的工作流管理系统,它提供了一整套解决方案,用于设计、执行和管理业务流程。在本示例中,我们将深入探讨如何利用JBPM实现销售批复这一具体...

    jbpm工作流web应用

    使用jbpm工作流web应用时,开发者首先在Eclipse中设计和测试流程,然后将流程部署到Tomcat服务器上。当用户通过Web界面触发流程时,请求会被发送到Tomcat,由jbpm引擎处理流程逻辑,同时MySQL数据库记录和跟踪流程...

    jbpm4.3 工作流实例 java

    【jbpm4.3 工作流实例与Java结合详解】 在信息技术领域,工作流管理系统(Workflow Management System,简称WfMS)是用于自动化业务流程的软件系统。jbpm(Business Process Management)是一款开源的工作流引擎,...

    jbpm工作流

    在"wipe-flow"这个压缩包文件中,很可能包含了与jbpm工作流相关的示例流程或项目的源代码。这些代码可能涵盖了流程定义文件(bpmn2.xml)、Java服务类(实现业务逻辑)、配置文件(如jbpm的配置、数据库连接配置等)...

    jbpm工作流开发Eclipse插件

    总的来说,jbpm工作流开发Eclipse插件是一个强大的工具,它为开发者提供了一站式的jbpm开发环境,使得流程设计、编码、测试和监控更加便捷,有助于提升企业级应用的开发效率和质量。对于想要涉足工作流管理系统的...

    JBPM工作流开发指南

    根据提供的文件信息,本文将基于“JBPM工作流开发指南”的标题、描述及部分文本内容进行深入解析,并尝试构建相关的IT知识点。 ### JBPM工作流开发指南 #### 一、JBPM简介 JBPM(JBoss Business Process ...

    eclipse工作流插件 含jBPM_4.4_开发指南

    本指南将深入探讨如何利用Eclipse与jBPM 4.4版本相结合,实现高效的工作流应用开发。 首先,我们要理解jBPM是什么。jBPM是一个开源的工作流管理系统,它提供了对业务流程建模、执行和监控的全面支持。jBPM 4.4是其...

    jBPM工作流应用开发指南目录和个人笔记

    "jBPM工作流应用开发指南目录.pdf"可能是整个jBPM开发文档的大纲,涵盖了从入门到进阶的所有主题,包括流程定义语言BPMN2的解析、jBPM的工作原理、流程实例的创建与管理、任务服务的使用、监听器和事件处理、持久化...

    jBPM4工作流应用开发指南.rar

    **jBPM4工作流应用开发指南** jBPM4是一款强大的开源工作流管理系统,它为业务流程管理和执行提供了一套完整的解决方案。本指南将深入探讨jBPM4的特性和使用方法,帮助开发者实现高效的工作流应用开发。 **1. jBPM...

    jbpm工作流技术PPT

    标题与描述概述的知识点是关于JBPM工作流技术的介绍及其在Java开发环境中的应用。JBPM,全称为Java Business Process Management,是一个开源的工作流引擎,用于自动化业务流程的管理和执行。以下是对这一主题的详细...

    JBPM工作流演示系统使用说明

    ### JBPM工作流演示系统使用说明详析 JBPM工作流演示系统,作为一个专注于JBPM技术的初级开发实例,旨在帮助新手快速理解JBPM的工作原理及其在实际项目中的应用方式。该系统通过一个具体的场景——请假流程管理,来...

    JBPM工作流演示系统使用说明.docx

    【JBPM工作流演示系统使用说明】 JBPM工作流演示系统是一个基于JBPM(Java Business Process Management)的工作流管理系统,用于展示JBPM的工作流程管理功能。该系统在JDK1.5及以上版本的环境中运行,推荐使用...

    python调用java,开发jbpm6.0.0工作流Application

    本示例中的"python调用java,开发jbpm6.0.0工作流Application"就是一个典型的跨语言交互案例,它结合了Python和Java两种语言的优势,以实现对JBPM6.0工作流引擎的高效管理。 首先,我们来了解一下Python调用Java的...

    jbpm4 工作流应用开发指南(胡奇) 源代码

    3. **测试用例**:通过测试代码,开发者可以了解如何验证工作流的功能,并学习如何正确地部署和运行流程实例。 4. **配置文件**:包括jbpm4的配置信息,如数据库连接、任务服务设置等。 5. **文档**:可能包含关于...

Global site tag (gtag.js) - Google Analytics