package com.wujc;
import java.util.List;
import junit.framework.TestCase;
import org.jbpm.api.Configuration;
import org.jbpm.api.ExecutionService;
import org.jbpm.api.ProcessEngine;
import org.jbpm.api.ProcessInstance;
public class ProcessInstanceTest extends TestCase {
ProcessEngine processEngine;
public ProcessInstanceTest(){
processEngine = Configuration.getProcessEngine();
}
/**
* deploy 发布流程
*/
protected void setUp(){
processEngine.getRepositoryService().createDeployment().addResourceFromClasspath("helloword.jpdl.xml").deploy();
// String deploymentId = repository.createDeployment().addResourceFromClasspath("helloword.jpdl.xml").deploy();
}
/**
* 发起新流程和执行等待流程
*/
public void testProcessInstance(){
//控制流程实例
ExecutionService execution = processEngine.getExecutionService();
//启动流程实例
ProcessInstance pi = execution.startProcessInstanceByKey("helloword");
System.out.println(pi);
System.out.println(pi.isEnded());
//执行等待流程
pi = execution.signalExecutionById(pi.getId());
System.out.println(pi.isEnded());
}
/**
* 终止流程实例
*/
public void testProcessInstanceEnd(){
//控制流程实例
ExecutionService execution = processEngine.getExecutionService();
//启动流程实例
ProcessInstance pi = execution.startProcessInstanceByKey("helloword");
execution.endProcessInstance(pi.getId(), "cancle");
}
/**
* 删除流程实例
*/
public void testProcessInstanceDelete(){
//控制流程实例
ExecutionService execution = processEngine.getExecutionService();
//启动流程实例
ProcessInstance pi = execution.startProcessInstanceByKey("helloword");
execution.deleteProcessInstanceCascade(pi.getId());
}
/**
* 查看流程实例
*/
public void testProcessInstanceList(){
//控制流程实例
ExecutionService execution = processEngine.getExecutionService();
//启动流程实例
ProcessInstance pi = execution.startProcessInstanceByKey("helloword");
//启动流程实例
ProcessInstance piA = execution.startProcessInstanceByKey("helloword");
List<ProcessInstance> list = execution.createProcessInstanceQuery().list();
for(ProcessInstance pi2 :list){
System.out.println(pi2.getId());
}
}
}
分享到:
相关推荐
它涉及了流程建模、服务接口设计、数据库交互和自动化构建等方面,为学习和理解Jbpm提供了一个完整的参考案例。开发者可以通过分析和运行这个实例,深入理解Jbpm的工作原理以及如何将其应用于实际业务场景。
通过"jbpm4.3工作流程管理例子",我们可以学习如何设计、实施和优化业务流程,提高工作效率,同时保证流程的规范性和可追溯性。对于开发者来说,这不仅是一次技术实践,也是对BPM理念的深入了解。
【Jbpm员工请假流程实例解析】 ...此外,它还强调了在不同角色之间进行数据交互和通知的重要性,这在实际的企业流程管理中是非常关键的。理解并掌握这样的实例,有助于我们更好地利用Jbpm来实现企业级的工作流管理。
7. **流程版本管理**:jbpm支持流程模型的版本控制,这意味着可以在不影响正在运行的流程实例的情况下,升级和优化流程定义。 8. **集成能力**:jbpm能够与其他Java应用程序、服务和数据库无缝集成,提供了丰富的...
说明,这篇文章说使用的流程实例是,学习《一个JBPM工作流管理示例》文章中的流程而来。原文中的流程实例不是jbpm3.1版本,不能适用于jbpm3.1。本人将其改写,并加入自己的设计和实现。原文地址为...
【JBPM4.4流程管理Demo】是一个基于JBPM4.4版本的示例项目,主要展示了如何在实际业务场景中应用工作流引擎进行流程管理,特别是报销流程的管理。这个Demo不仅包含了可运行的代码,还附带了学习资料和SQL文件,方便...
下面将详细解释这些文件及其背后的流程管理和执行原理。 首先,`Service.java`通常是一个核心服务类,它封装了与jbpm4引擎交互的逻辑。在jbpm4中,我们可以通过服务接口来启动流程实例、完成任务、查询流程状态等。...
### jBPM开发工作流程管理知识点详解 #### 一、jBPM简介 jBPM,全称为Java Business Process Management,是一种基于J2EE技术栈的轻量级工作流管理系统。该系统作为开源项目,其许可协议遵循Apache License。自...
**jBPM 4视频教程03:管理流程实例** jBPM 4是一个开源的工作流管理系统,它为业务流程的...通过本视频教程,学习者将能深入理解jBPM 4如何处理管理流程实例,从而在实际工作中应用这些知识来优化业务流程,提高效率。
首先,我们要理解什么是业务流程管理(BPM)。BPM是一种方法,它通过自动化和优化企业的业务流程来提高效率和响应速度。jbpm4.3提供了图形化的流程设计工具,使得非技术人员也能理解和参与到流程的设计中来。 在...
【JBPM流程代码演示】是关于使用JBPM(Java Business Process Management)框架进行流程管理的实践教程。JBPM是一个开源的工作流管理系统,它允许开发者设计、执行和管理业务流程。本教程通过一系列代码示例,旨在...
总的来说,通过这个教程,你将能够掌握jbpm的基础知识,包括流程建模、流程实例管理、任务处理等,为后续的jbpm开发或工作流管理系统的设计和实施打下坚实的基础。同时,实践中的问题记录和解决过程也是学习的重要...
jbpm(Java Business Process Management)是一款开源的工作流和业务流程管理框架,主要用于设计、执行和管理复杂的业务流程。它提供了一整套工具和服务,帮助企业构建灵活、可扩展且易于维护的业务流程应用。jbpm是...
JBPM是业务流程管理(BPM)领域的一个灵活且强大的开源工作流引擎,它主要用于建模、执行和监控业务流程。文档《JBPM流程引擎资料》详细介绍了如何利用JBPM开发流程应用,涵盖了从框架构造到节点处理的方方面面。 ...
通过这个示例,开发者可以学习到如何在JBoss JBPM4中实现一个完整的业务流程,理解工作流引擎的工作原理,以及如何将流程与Web应用相结合。同时,对于熟悉BPMN和源码的开发者,还可以深入研究JBoss JBPM4的内部机制...
通过这个实例,我们可以学习到如何将jbpm与SSH框架结合,实现一个完整的业务流程管理系统。不仅涵盖了工作流的基本概念,还涉及到前端交互、数据库操作和业务逻辑的实现,对于理解企业级应用开发具有很高的参考价值...
通过这个入门实例,开发者可以学习到如何使用jBPM4.4进行流程设计、部署和执行的基本操作,并逐步掌握其在实际项目中的应用。在实践中不断探索和深入,才能更好地利用jBPM4.4实现业务流程自动化,提高工作效率。
综上所述,"我写的一个jbpm实例"是一个全面展示jbpm功能和SSH框架集成的应用案例,涵盖了流程设计、部署、执行、监控等多个方面。通过学习这个实例,读者可以加深对jbpm的理解,为实际项目开发提供参考。