`

jbpm4.4重要API说明

    博客分类:
  • jbpm
阅读更多
一。流程引擎API
org.jbpm.api.ProcessEngine是jbpm4所有的Service API 之源。
既所有的Service API(服务接口)都从ProcessEngine中获取。
ProcessEngine由配置文件获取
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对象。
二。其余API
1.那么在看看其他6个Api是如何获取的:
RepositoryService  repositoryService = processEngine.getRepositoryService();		
		ExecutionService executionService = processEngine.getExecutionService();		
		TaskService taskService = processEngine.getTaskService();		
		HistoryService historyService = processEngine.getHistoryService();		
		ManagementService managementService = processEngine.getManagementService();		
		IdentityService identityService = processEngine.getIdentityService();


2.RepositoryService  了解
流程资源服务接口,提供对流程定义的部署,查询,删除等操作。
我的通俗理解:流程资源服务接口就是提供流程定义接口。
真的不喜欢官方文档的专业‘文字游戏’术语
如:

/***
	 * test deploy
	 */
	public void testDeploy(){
		RepositoryService repository = processEngine.getRepositoryService();
		//发布流程定义
		String deploymentId = repository.createDeployment().addResourceFromClasspath("helloword.jpdl.xml").deploy();
		
		//查看流程定义
		List<ProcessDefinition> list = repository.createProcessDefinitionQuery().list();
		for(ProcessDefinition pd:list){
			System.out.println(pd.getId());
		}
		//删除流程定义
		repository.deleteDeploymentCascade(deploymentId);
		System.out.println(repository.createProcessDefinitionQuery().list().size());
	}
	


3.ExecutionService了解
流程执行服务接口,提供启动流程实例,执行推进,设置流程变量等操作
我的通俗理解:流程执行服务接口就是提供操作流程实例接口。

String id = request.getParameter("id");
ExecutionService executionService = processEngine
			.getExecutionService();
ProcessInstance processInstance = executionService
			.findProcessInstanceById(id);
//启动流程实例   
ProcessInstance pi = executionService.startProcessInstanceByKey("helloword");   
 //执行等待流程   
 pi = executionService.signalExecutionById(pi.getId());
//终止流程实例 
executionService.endProcessInstance(pi.getId(), "cancle");
//删除流程实例 
executionService.deleteProcessInstanceCascade(pi.getId());   



设置流程变量操作
Map map = new HashMap();
	map.put("owner", session.getAttribute("username"));
	executionService.startProcessInstanceById(request
			.getParameter("id"), map);


//查看流程实例
List<ProcessInstance> piList = executionService.createProcessInstanceQuery().list();
List<ProcessInstance> list = execution.createProcessInstanceQuery().list();   
for(ProcessInstance  pi2 :list){   
   System.out.println(pi2.getId());   
}   


4.TaskService 了解
人工任务服务接口。提供对任务的创建,提交,查询,保存,删除等操作

使用TaskService 对已经启动的流程查看任务列表(个人)

TaskService taskService = processEngine.getTaskService();
String username = (String) session.getAttribute("username");
List<Task> taskList = taskService.findPersonalTasks(username);


使用TaskService完成任务
   ProcessEngine processEngine = Configuration.getProcessEngine();
       TaskService taskService = processEngine.getTaskService();
	Map map = new HashMap();
	map.put("day", day);
	map.put("reason", reason);
	taskService.completeTask(taskId, map);

说明:
//根据指定的任务ID完成任务。
taskService.completeTask(taskId)
//根据指定的任务ID,同时设定变量来完成任务。
taskService.completeTask(taskId, map)
//指定outcome,下一步转移路径,完成任务。
taskService.completeTask(taskId,outcome)
//指定outcome,下一步转移路径,,同时设定变量来完成任务。
taskService.completeTask(taskId, out,map)


API允许设置变量,这里可以是MAP或者其他变量,这些在任务完成前将作为流程变量同步到流程实例中,
可以根据TaskId,和在MAP设置的KEY获取变量
eg:
taskService.getVariable(taskId, "owner")

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

6.ManagementService 了解
流程管理控制服务接口

7.IdentityService 了解
身份认证服务接口 。提供对流程用户,用户组,成员关系的服务。
分享到:
评论

相关推荐

    jBPM4.4 详解 API 中文

    ### jBPM4.4 API 详解:工作流自动化的核心技术 #### 一、工作流基础知识 工作流,作为业务过程的部分或整体自动化,旨在通过计算机应用环境实现文档、信息或任务在多个参与者间的自动传递,以达到预期的业务目标...

    jBPM4.4.rar_jbpm4.4_jbpm4.4 PDF

    《jBPM4.4开发指南》与《jBPM4.4中文用户手册》是深入理解jBPM4.4这一开源工作流管理系统的重要参考资料。jBPM,全称Java Business Process Management,是一个用于执行业务流程的轻量级、灵活的开源框架,它为业务...

    JBPM4.4 API 【最全API 包含所有实现类】

    本文将深入探讨JBPM4.4 API中的关键知识点,并分析其实现类的重要性。 首先,我们要理解JBPM4.4的核心概念。它是基于BPMN(Business Process Model and Notation)标准的,提供了一种图形化的方式来设计、部署和...

    JBPM4.4-api

    JBPM4.4-api

    JBPM4.4 api chm版

    JBPM4.4的API手册,chm版的。

    jbpm4.4文档+学习资料

    jbpm4.4是JBoss企业级业务流程管理(Business Process Management)平台的一个重要版本,它为开发者提供了全面的工作流和业务流程管理解决方案。本文将深入解析jbpm4.4的相关知识点,帮助那些寻找优质学习资源的朋友...

    jBPM4.4开发实例

    **jBPM4.4开发实例** jBPM(Java Business Process Management)是一个开源的工作流管理系统,用于管理和执行业务流程。jBPM4.4是该框架的一个版本,它提供了强大的工作流服务,包括流程定义、流程实例管理、任务...

    jbpm4.4中文开发指南

    3. **持久化**: jbpm4.4支持JPA(Java Persistence API),允许流程实例和相关数据在数据库中持久化,确保系统在重启后仍能恢复状态。 4. **任务服务**: 提供了任务服务,使得用户可以进行任务的接收、完成、委托和...

    jBPM 4.4 API

    jBPM 4.4 API ,注意是英文版的,根据官方API,然后生成chm格式。

    JBPM4.4资料的其他补充

    在JBPM4.4版本中,开发者可以利用其提供的API和工具来设计、部署和执行复杂的业务流程。 首先,让我们深入了解一下JBPM4.4的核心特性: 1. **流程建模**:JBPM4.4支持BPMN(Business Process Modeling Notation)...

    JBPM 4.4-API 官网英文原版打包CHM格式

    JBPM 4.4-API 官网英文原版打包CHM格式

    jbpm4.4 shh2 项目示例

    jbpm4.4 shh2 项目示例是基于jbpm4.4版本与SSH2(Struts2、Spring和Hibernate)集成的一个实战项目。jbPM(Business Process Management)是一款开源的工作流管理系统,用于实现业务流程自动化。SSH2是Java开发中的...

    jbpm4.4API

    【JBPM4.4 API】是Java Business Process Management(JBPM)系统的一个版本,它提供了一个全面的工作流和业务流程管理框架。JBPM是一个开源项目,由Red Hat维护,广泛应用于企业级应用中,用于管理和执行业务流程。...

    JBPM4.4流程管理Demo(附学习资料)

    JBPM4.4提供了一套强大的工具,包括流程设计工具(如Graclipse)、服务器端的流程引擎以及API,使得流程的生命周期管理变得简单。 3. **报销流程** - 报销流程通常涉及员工提交报销申请、财务部门审批、会计核算等...

    jbpm4.4开发用户指南

    5. **编程接口**:详细说明如何使用API来控制流程实例的生命周期,如启动、挂起、恢复和终止流程。 6. **任务管理**:涵盖如何处理工作项(Task),包括任务分配、完成和查询。 7. **事件处理**:介绍如何定义和...

    jbpm4.4+ssh

    【jbpm4.4+SSH】是一个集成的Java企业级应用框架,主要涉及的是工作流管理系统jbpm4.4与Spring、Struts2(SSH)三大框架的整合。jbpm4是一个开源的工作流程管理系统,它提供了流程定义、执行、监控和优化等一系列...

    jbpm4.4+tomcat6+eclipse jee

    3. **持久化**:jbpm4.4使用JPA(Java Persistence API)来保存流程实例和相关数据到数据库中,确保数据的持久性和可恢复性。 4. **任务服务**:提供了一套API来处理任务的分配、接收、完成和查询,使得业务用户...

    jbpm4.4spring.rar_jbpm4_jbpm4.4

    【标签】"jbpm4 jbpm4.4" 强调了项目使用的具体版本,这可能对开发者了解项目的兼容性和解决可能遇到的问题有所帮助,因为不同版本的JBPM可能会有不同的特性和API变化。 【压缩包子文件的文件名称列表】: 1. `....

    JBPM4.4-API-CHM官方英文版(自己制作整合)

    JBPM4.4-API-CHM官方英文版(自己制作整合)

    jbpm4.4 流程运转+驳回+分配组任务+ssh2

    jbpm4.4是JBoss Business Process...同时,jbpm4.4还提供了丰富的API和工具,便于开发人员进行二次开发和集成,以满足特定的业务需求。在学习过程中,可以参考提供的jbpm4.4压缩包文件,通过实际操作来加深理解和应用。

Global site tag (gtag.js) - Google Analytics