JBPM学习笔记

JBPM学习笔记

http://docs.jboss.org/jbpm/v4/javadocs/index.html?overview-summary.html

http://blog.csdn.net/xxb2008/article/details/8480506

-Dfile.encoding=UTF-8

一、常用API

1、ProcessEngine获得 获取流程引擎

ProcessEngine processEngine = Configuration.getProcessEngine();  
ProcessEngine processEngine = new Configuration().buildProcessEngine(); 
//指定文件获得
ProcessEngine processEngine = new Configuration().setResource("jbpm.cfg.xml").buildProcessEngine();  
RepositoryService  repositoryService = processEngine.getRepositoryService(); 
ExecutionService executionService = processEngine.getExecutionService(); 
TaskService taskService = processEngine.getTaskService(); 
HistoryService historyService = processEngine.getHistoryService(); 
ManagementService managementService = processEngine.getManagementService(); 
IdentityService identityService = processEngine.getIdentityService();


 

 

ProcessEnginejbpm4所有的Service API 的源头并且是线程安全的,可以保存在静态变量中。所有的线程和请求都可以使用同一个ProcessEngine对象。

每一个Service都可以创建一个对应用Query用于查找对应的信息

 

2、RepositoryService(RepositoryServiceImpl)流程资源服务接口

对流程定义(jpdl)文件的发布,查询,删除等操作

 

repositoryService.createDeployment().addResourcesFromZipInputStream(zip).deploy();//通过ZIP文件发布
String deploymentid = repositoryService.createDeployment().addResourceFromClasspath("leave.jpdl.xml").deploy(); //通过指定jpdl配置文件

……

 

实体BEAN接口(类)

http://blog.csdn.net/xxb2008/article/details/8480506

NewDeploymentDeploymentImpl

ProcessDefinitionProcessDefinitionImpl) 流程定义

3、ExecutionService(ExecutionServiceImpl) 新建流程实例(提交申请单)

提供启动流程实例,执行推进,设置流程变量等操作

ProcessInstance pi = executionService.findProcessInstanceById(id);
executionService.startProcessInstanceByKey("helloword");//启动流程实例    
executionService.signalExecutionById(pi.getId()); //执行等待流程
executionService.endProcessInstance(pi.getId(), "cancle");//终止流程实例 
executionService.deleteProcessInstanceCascade(pi.getId());//删除流程实例 
processInstance.suspend();//把实例暂停
processInstance.resume//把实例恢复

实体BEAN接口(类)

 

Execution
ProcessInstance(ExecutionImpl)继承Execution

public class ExecutionImpl extends ScopeInstanceImpl implements ClientProcessInstance, ActivityExecution, EventListenerExecution


 

4、TaskService(TaskServiceImpl) 任务

提供对任务的创建,提交,查询,保存,删除,  设置变量,等操作

TaskQuery (TaskQueryImpl) 查找

实体BEAN接口(类)

Task([OpenTask]TaskImpl)继承

 

子任务与父任务

直接把父任务完成了,子任务也会被完成,并删除记录,增加历史

把最后一个子任务完成时,需要先一并完成父任务

5.HistoryService 了解

流程历史服务的借口,提供对流程历史库(已完成 的流程实例归档)中历史流程,历史活动实例等记录的查询操作

6.ManagementService 了解

流程管理控制服务接口

7.IdentityService 了解

身份认证服务接口 。提供对流程用户,用户组,成员关系的服务。

你可能感兴趣的:(JBPM学习笔记)