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工作流引擎进行程序开发的示例代码。JBPM(Java Business Process Management)是一款开源的工作流管理系统,它允许开发者设计、执行和管理业务流程...
这个压缩包可能包含了一系列的资源,如源代码、配置文件、库和示例项目,旨在帮助用户快速地将jbpm工作流技术融入到自己的项目中。 首先,让我们深入了解jbpm的核心功能。jbpm支持 BPMN 2.0 标准,这是一种广泛接受...
【李腾飞JBPM工作流引擎代码test01到test02】这个项目主要涉及的是使用JBPM(Java Business Process Management)框架实现的工作流引擎的代码示例,包括了jbpm-test01和jbpm-test02两个阶段的代码。JBPM是一款开源的...
**基于JBPM工作流的OA办公系统** JBPM(Java Business Process Management)是Talend公司推出的一款开源的工作流管理系统,主要用于实现业务流程自动化。它提供了全面的工作流解决方案,包括流程设计、执行、监控和...
JBPM工作流开发指南v10-20070706.doc 是一份详细的学习文档,主要针对那些想要深入理解并使用JBPM工作流引擎的开发者。JBPM(Java Business Process Management)是一个开源的工作流管理系统,它允许开发者设计、...
**JBPM工作流详解** JBPM(Java Business Process Management)是一个开源的工作流管理系统,它提供了一整套解决方案,用于设计、执行和管理业务流程。在本示例中,我们将深入探讨如何利用JBPM实现销售批复这一具体...
使用jbpm工作流web应用时,开发者首先在Eclipse中设计和测试流程,然后将流程部署到Tomcat服务器上。当用户通过Web界面触发流程时,请求会被发送到Tomcat,由jbpm引擎处理流程逻辑,同时MySQL数据库记录和跟踪流程...
【jbpm4.3 工作流实例与Java结合详解】 在信息技术领域,工作流管理系统(Workflow Management System,简称WfMS)是用于自动化业务流程的软件系统。jbpm(Business Process Management)是一款开源的工作流引擎,...
在"wipe-flow"这个压缩包文件中,很可能包含了与jbpm工作流相关的示例流程或项目的源代码。这些代码可能涵盖了流程定义文件(bpmn2.xml)、Java服务类(实现业务逻辑)、配置文件(如jbpm的配置、数据库连接配置等)...
总的来说,jbpm工作流开发Eclipse插件是一个强大的工具,它为开发者提供了一站式的jbpm开发环境,使得流程设计、编码、测试和监控更加便捷,有助于提升企业级应用的开发效率和质量。对于想要涉足工作流管理系统的...
根据提供的文件信息,本文将基于“JBPM工作流开发指南”的标题、描述及部分文本内容进行深入解析,并尝试构建相关的IT知识点。 ### JBPM工作流开发指南 #### 一、JBPM简介 JBPM(JBoss Business Process ...
本指南将深入探讨如何利用Eclipse与jBPM 4.4版本相结合,实现高效的工作流应用开发。 首先,我们要理解jBPM是什么。jBPM是一个开源的工作流管理系统,它提供了对业务流程建模、执行和监控的全面支持。jBPM 4.4是其...
"jBPM工作流应用开发指南目录.pdf"可能是整个jBPM开发文档的大纲,涵盖了从入门到进阶的所有主题,包括流程定义语言BPMN2的解析、jBPM的工作原理、流程实例的创建与管理、任务服务的使用、监听器和事件处理、持久化...
**jBPM4工作流应用开发指南** jBPM4是一款强大的开源工作流管理系统,它为业务流程管理和执行提供了一套完整的解决方案。本指南将深入探讨jBPM4的特性和使用方法,帮助开发者实现高效的工作流应用开发。 **1. jBPM...
标题与描述概述的知识点是关于JBPM工作流技术的介绍及其在Java开发环境中的应用。JBPM,全称为Java Business Process Management,是一个开源的工作流引擎,用于自动化业务流程的管理和执行。以下是对这一主题的详细...
### JBPM工作流演示系统使用说明详析 JBPM工作流演示系统,作为一个专注于JBPM技术的初级开发实例,旨在帮助新手快速理解JBPM的工作原理及其在实际项目中的应用方式。该系统通过一个具体的场景——请假流程管理,来...
【JBPM工作流演示系统使用说明】 JBPM工作流演示系统是一个基于JBPM(Java Business Process Management)的工作流管理系统,用于展示JBPM的工作流程管理功能。该系统在JDK1.5及以上版本的环境中运行,推荐使用...
本示例中的"python调用java,开发jbpm6.0.0工作流Application"就是一个典型的跨语言交互案例,它结合了Python和Java两种语言的优势,以实现对JBPM6.0工作流引擎的高效管理。 首先,我们来了解一下Python调用Java的...
3. **测试用例**:通过测试代码,开发者可以了解如何验证工作流的功能,并学习如何正确地部署和运行流程实例。 4. **配置文件**:包括jbpm4的配置信息,如数据库连接、任务服务设置等。 5. **文档**:可能包含关于...