`

Jbpm4.4 学习四--API

    博客分类:
  • JBPM
阅读更多
一。流程引擎API
org.jbpm.api.ProcessEngine是jbpm4所有的Service API 之源。
既所有的Service API(服务接口)都从ProcessEngine中获取。
ProcessEngine由配置文件获取
ProcessEngine processEngine = Configuration.getProcessEngine();

并且是线程安全的,可以保存在静态变量中。所有的线程和请求都可以使用同一个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了解
流程执行服务接口,提供启动流程实例,执行推进,设置流程变量等操作
我的通俗理解:流程执行服务接口就是提供操作流程实例接口。

启动流程实例根据ID
String id = request.getParameter("id");
ExecutionService executionService = processEngine
			.getExecutionService();
ProcessInstance processInstance = executionService
			.findProcessInstanceById(id);


设置流程变量操作

Map map = new HashMap();
	map.put("owner", session.getAttribute("username"));
	executionService.startProcessInstanceById(request
			.getParameter("id"), map);


//查看流程实例
List<ProcessInstance> piList = executionService.createProcessInstanceQuery().list();
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-CHM官方英文版(自己制作整合)

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

    jBPM4.4.rar_jbpm4.4_jbpm4.4 PDF

    《jBPM4.4开发指南》与《jBPM4.4中文用户手册》是深入理解jBPM...总的来说,jBPM4.4是企业级业务流程自动化的重要工具,通过深入学习这两份资料,开发者和业务人员都能够充分利用其功能,提升流程管理的效率和灵活性。

    jbpm4.4帮助文档API--chm格式

    完美版JBPM4.4帮助文档,开发必备。

    jbpm-4.4.zip part03

    【jbpm-4.4.zip part03】这个压缩文件是关于jbpm 4.4...jbpm 4.4版本是其历史版本中的一个重要里程碑,尽管可能不如最新版本那样拥有最新的特性和改进,但对于学习和理解工作流管理系统的运作机制仍然具有很高的价值。

    jBPM4.4 详解 API 中文

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

    jbpm4.4文档+学习资料

    四、jbpm4.4实战应用 1. 示例项目:通过分析jbpm4.4提供的示例项目,了解实际应用中的流程设计和实现。 2. 自定义服务:学习如何定义和实现自定义的服务任务,与外部系统交互。 3. 监控与报表:了解jbpm的监控工具和...

    JBPM4.4-api

    JBPM4.4-api

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

    JBPM4.4 API,全称为Java Business Process Management 4.4 Application Programming Interface,是用于构建和管理业务流程的应用框架。这个API包含了JBPM4.4的所有核心组件和功能,使得开发者可以方便地进行工作流...

    jbpm4.4开发包2

    "lib"通常指的是库目录,包含了一系列的jar文件,这些文件包含了jbpm4.4运行所必需的类库和API,例如:核心引擎、工作流服务、持久化模块等。 在【压缩包子文件的文件名称列表】中,只列出了“2”,这可能是因为...

    jBPM4.4开发实例

    通过这个入门实例,开发者可以学习到如何使用jBPM4.4进行流程设计、部署和执行的基本操作,并逐步掌握其在实际项目中的应用。在实践中不断探索和深入,才能更好地利用jBPM4.4实现业务流程自动化,提高工作效率。

    jbpm_4.4完整架包

    8. **API和库**:jbpm_4.4提供了丰富的API和库,方便开发者在Java应用程序中集成和扩展流程功能,包括作业调度、定时器和事件处理等。 9. **社区支持**:jbpm作为一个开源项目,拥有活跃的社区,用户可以通过论坛、...

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

    - 随附的学习资料可能包括JBPM4.4的官方文档、教程、示例代码解析等,对于初学者来说,这些资源可以帮助理解JBPM的工作原理和使用方法。 7. **项目结构与运行** - JBPM4.4Demo项目可能包含了Maven或Gradle构建...

    jbpm4.4中文开发指南

    **jbpm4.4中文开发指南**作为官方翻译版,为中文用户提供了详细的学习资料,涵盖了jbpm4.4的所有核心概念和技术,是新手入门和进阶的理想参考。通过阅读《jbpm4.4开发指南.doc》,读者可以系统了解jbpm的工作原理、...

    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.4-demo

    在深入研究jbpm4.4-demo时,你将学习到如何使用jbpm提供的API和工作流服务,如流程实例的启动、任务的领取和完成、流程变量的获取和修改等。同时,你还会接触到如何利用jbpm的工作流引擎进行流程的动态改变和扩展,...

    JBPM4.4资料的其他补充

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

    jbpm4.4入门编程小例子

    jbpm4.4是该系统的较早版本,但它仍然是许多开发人员学习工作流管理的基础。在本教程中,我们将深入探讨jbpm4.4的核心概念,并通过一个简单的编程实例来帮助你入门。 ### 1. jbpm4.4核心组件 - **流程定义语言 ...

    jbpm4.4学习教程

    此外,jbpm4.4还提供了丰富的API,使得开发者可以轻松地集成到现有系统中,实现自定义的工作流逻辑。 事件处理是jbpm4.4的另一大亮点,它允许系统在特定事件发生时执行相应的操作。例如,当流程达到某个节点时,...

    JBPM4.4 api chm版

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

Global site tag (gtag.js) - Google Analytics