`

jbpm 学习二 流程管理实例

    博客分类:
  • JBPM
阅读更多
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工作流管理示例》文章中的流程而来。原文中的流程实例不是jbpm3.1版本,不能适用于jbpm3.1。本人将其改写,并加入自己的设计和实现。原文地址为...

    JBPM-员工请假流程实例

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

    jbpm4.4学习笔记

    6 管理流程定义 18 6.1设计流程定义文档 18 6.1.1图片 18 6.1.2jpdl.xml文件 18 6.2部署流程定义 19 6.3删除流程定义 20 6.4查询流程定义 21 6.5获取流程定义文档的资源 22 7 执行流程实例 22 7.1启动流程实例 22 ...

    jpbm4.4学习文档及数据库表结构

    jbpm4.4入门学习的好文档 1.工作流基础 2.开发环境 3.核心概念与相关api 4.processenginee serviceapi 5.管理流程定义 6.执行流程实例 7.流程定义语言 8.应用 与其他框架的集成

    Activiti工作流学习资料.zip

    Activiti5是由Alfresco软件在2010年5月17日发布的业务流程管理(BPM)框架,它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。Activiti基于Apache许可的开源BPM...

    Activiti6.0教程例子下载

    Activiti 作为一个遵从 Apache 许可的工作流和业务流程管理开源平台,其核心是基于 Java 的超快速、超稳定的 BPMN2.0 流程引擎,强调流程服务的可嵌入性和可扩展性,同时更加强调面向业务人员。 Activiti 流程引擎...

    Java个人简历模板10.doc

    3. 熟练掌握Jbpm工作流,理解Jbpm流程实例、任务、执行、候选人、泳道等工作流概念 4. 熟练掌握Lucene(全文检索)、MyBatis、WebService等流行框架和技术 前台页面技术 1. 熟悉掌握JavaScript、Ajax、jQuery等...

Global site tag (gtag.js) - Google Analytics