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();
ProcessEngine是jbpm4所有的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)
NewDeployment(DeploymentImpl)
ProcessDefinition(ProcessDefinitionImpl) 流程定义
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 了解
身份认证服务接口 。提供对流程用户,用户组,成员关系的服务。