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
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用于查找对应的信息
对流程定义(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) 流程定义
提供启动流程实例,执行推进,设置流程变量等操作
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
提供对任务的创建,提交,查询,保存,删除, 设置变量,等操作
TaskQuery (TaskQueryImpl) 查找
实体BEAN接口(类)
Task([OpenTask]TaskImpl)继承
子任务与父任务
直接把父任务完成了,子任务也会被完成,并删除记录,增加历史
把最后一个子任务完成时,需要先一并完成父任务
5.HistoryService 了解
流程历史服务的借口,提供对流程历史库(已完成 的流程实例归档)中历史流程,历史活动实例等记录的查询操作
6.ManagementService 了解
流程管理控制服务接口
7.IdentityService 了解
身份认证服务接口 。提供对流程用户,用户组,成员关系的服务。