java流程管理 之 jbpm流程实例 发布、查看、终止、删除

原创 2012年03月26日 15:35:48
package com.jiaocaigen002.processinstance;

import java.util.List;

import org.jbpm.api.*;

import junit.framework.TestCase;

/**
 * 流程实例
 * @author leiwei 2012-3-20
 *
 */
public class ProcessInstanceTest extends TestCase {

	//流程引擎
	ProcessEngine processEngine;

	public ProcessInstanceTest() {
		processEngine = Configuration.getProcessEngine();
	}

	/**
	 *  发布流程定义
	 */
	protected void setUp() {
		//流程资源服务的接口,如流程定义发布、查询、删除等
		processEngine.getRepositoryService().createDeployment()
		                .addResourceFromClasspath("helloworld.jpdl.xml").deploy();
	}
	
	/**
	 * 发布新流程
	 */
	public void newProcessInstance() {
		//用于操作人工任务的服务,可以进行任务创建、查询、获取、提交完成、保存、删除等操作
		ExecutionService executionService = processEngine.getExecutionService();
		ProcessInstance processInstance = executionService.startProcessInstanceByKey("helloworld");
		
		//查看流程是否已经结束
		System.out.println("流程是否已经结束:"+processInstance.isEnded());
		
		//直接跳过等待,直接结束
		processInstance = executionService.signalExecutionById(processInstance.getId());
		System.out.println("流程是否已经结束:"+processInstance.isEnded());
	}
	
	/**
	 * 终止流程
	 */
	public void endProcessInstance() {
		ExecutionService executionService = processEngine.getExecutionService();
		ProcessInstance processInstance = executionService.startProcessInstanceByKey("helloworld");
		executionService.endProcessInstance(processInstance.getId(), "cancle");
	}
	
	/**
	 * 删除流程
	 */
	public void deleteProcessInstance() {
		ExecutionService executionService = processEngine.getExecutionService();
		ProcessInstance processInstance = executionService.startProcessInstanceByKey("helloworld");
		executionService.deleteProcessInstanceCascade(processInstance.getId());
	}
	
	/**
	 * 查看流程
	 */
	public void selectProcessInstance() {
		ExecutionService executionService = processEngine.getExecutionService();
		ProcessInstance processInstance1 = executionService.startProcessInstanceByKey("helloworld");
		ProcessInstance processInstance2 = executionService.startProcessInstanceByKey("helloworld");
		List<ProcessInstance> processInstanceList= executionService
		                            .createProcessInstanceQuery().list();
		
		for (ProcessInstance processInstance : processInstanceList) {
			System.out.println("流程的个数:"+processInstance.getId());
		}
	}
	
}


 

JBPM发布流程、查询流程、删除流程

package com.clj; import java.util.List; import org.jbpm.api.Configuration; import org.jbpm.ap...
  • clj198606061111
  • clj198606061111
  • 2012年12月30日 21:59
  • 3942

Jbpm笔记之一 -- 流程定义管理( 部署和定义查询、删除、查看流程图)

1、在数据库中创建表
  • shehun11
  • shehun11
  • 2014年09月05日 09:19
  • 678

JBPM3.2数据库表说明(增加JBPM_TASKINSTANCE的补充)

1 流程配置类数据库表: 1.1 JBPM_PROCESSDEFINITION:流程模版表 字段名 字段含义 主键 外键 ID_ ...
  • ynztpwl
  • ynztpwl
  • 2012年08月10日 13:21
  • 2924

删掉jbpm3.2 相关表的数据

手动清空jbpm3.2中数据库的表,有限表之间的关联,无法删除,以下是我记录清空数据表的先后顺序,在这记录下:delete from jbpm_log;delete from jbpm_variabl...
  • sz_bdqn
  • sz_bdqn
  • 2011年07月24日 20:23
  • 959

java中的工作流流程管理和流转思路

在做某个管理项目时,被要求实现一套流程管理,比如请假的申请审批流程等,在参考了很多资料,并和同事讨论后,得到了一个自主实现的流程管理。     以下提供我的设计思路,知道了思路,实现起来就...
  • youyou_yo
  • youyou_yo
  • 2015年08月13日 09:35
  • 2948

Java开源Saas开发框架+Activiti流程管理=JSAAS

Java开源Saas开发框架+Activiti流程管理=JSAAS 1.SAAS云应用场景 SAAS云应用近几年来越来越火,这得益于国内云计算的基础设施的发展,如以前我们开发应用所需要的硬...
  • wo1950149188
  • wo1950149188
  • 2016年07月24日 15:34
  • 3806

java三大流程控制

一.顺序控制 依次执行代码。 二.条件控制 1.if语句 语法结构:if(条件){ //实现我们的逻辑 } import java.util.Scanner; public class If { ...
  • Luna_ll
  • Luna_ll
  • 2017年10月10日 16:00
  • 155

java Web审批流程

  • 2013年09月16日 10:25
  • 10.53MB
  • 下载

另一种JBPM实现互斥撤回任务的例子

一个JBPM实现互斥撤回任务的例子    关键字:   一节点多任务实例             有一个需求是这个样子...
  • xint13
  • xint13
  • 2007年03月16日 15:22
  • 618

Java-Web 一 熟悉工作流程

一、在Tomcat中配置网站         找到Tomcat的安装目录,找到webapps文件夹,所有的网站项目都是在这个文件夹里。在webapps中新建文件夹,例如:文件夹名字叫做 work_on...
  • efine_dxq
  • efine_dxq
  • 2016年09月18日 11:50
  • 751
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java流程管理 之 jbpm流程实例 发布、查看、终止、删除
举报原因:
原因补充:

(最多只允许输入30个字)