初学JBPM,简单总结基本的开发流程如下:
第1步、初始化ProcessEngine
ProcessEngine processEngine = new Configuration().buildProcessEngine();
第2步、获得RepositoryService,并读取资源,发布管理流程
RepositoryService repositoryService = processEngine.getRepositoryService();
//repositoryService.createDeployment().addResourceFromClasspath("leave.jpdl.xml").deploy();
ZipInputStream zis = new ZipInputStream(this.getClass().getResourceAsStream("/leave.zip"));
repositoryService.createDeployment()
.addResourcesFromZipInputStream(zis).deploy();
第3步、获得ExecutionService,并调用其startProcessInstanceBy***()方法启动一个流程实例
ExecutionService executionService = processEngine
.getExecutionService();
//可提供参数:
Map map = new HashMap();
map.put("owner",(String)session.getAttribute("userName"));
//也可使用variables提供变量,variables在流程创建和启动时使用
//Map<String,Object> variables
//executionService.setVariable(variables);//设置流程变量。
executionService.startProcessInstanceById(id, map);
第4步、IdentityService对象向的方法可向流程中添加参与者,用户组,用户组与参与者的对应
第5步、TaskService对象 获取参与者的任务列表
List<Task> listTasks=taskService.getTask(taskId);
task=listTasks.get(0);
String taskId = task.getId();
第6步、调用TaskService的completeTask方法,根据taskId执行任务(可选:可调用setVariables方法设置参数):
//设置参数
Map map = new HashMap();
map.put("day",day);
map.put("reason",reason);
ts.setVariables(taskId,map);
//执行任务
ts.completeTask(taskId);
PS:利用Query方法获得各种所需列表的例子:
//流程定义List
List<ProcessDefinition> pdList = repositoryService.createProcessDefinitionQuery().list();
//流程实例List
List<ProcessInstance> piList = executionService.createProcessInstanceQuery().list();
//任务List
List<Task> taskList = taskService.findPersonalTasks(userName);
//历史流程实例List
List<HistoryProcessInstance> historyList = processEngine.getHistoryService().createHistoryProcessInstanceQuery().list();
分享到:
相关推荐
安装jbpm4插件 发布流程模板 创建流程实例 流程的signal操作 Task节点的任务分配 获取某人的taskList,并对task进行comple操作
文档是自己通过学习JBPM3总结出来的,大家可以参考一下,包括插件的安装,开发流程,学习总结等等!
jBPM4实现基本活动,解释了流程定义的基础,流程虚拟机给予的功能 以及活动实现是如何构建的
第二篇主要涉及基于jBPM4这个强大的应用程序框架打造属于自己独特业务的“企业流程管理平台”,包括jBPM4扩展研发先决条件、深入jPDL和jBPM Service API、升级jBPM3到jBPM4、流程虚拟机原理、jBPM4的设计思想、随需...
JBPM是JBOSS公司的一个开源工作流产品,它功能强大,商业工作流所提供的功能它基本上都有。然而在JBPM中没有提供流程监控的功能的相关API,这点让很多使用JBPM做企业应用的开发人员颇为头疼。
Web版物品领取的jbpm流程管理程序,可以直接部署到tomcat,程序完整,示范了基本的jbpm流程管理程序的编程方法,导入到myeclipse即可。
介绍JBPM的基本流程概念、实例执行的概念及使用JBPM的区别
一、流程定义的基本概念: 二、流程执行的基本概念: 三、流程引擎核心调度过程 ----------------------- jbpm的实现流程图全文共3页,当前为第1页。 jbpm的实现流程图全文共3页,当前为第2页。 ࠀ࠘ࠚࠜࣾऀंऄआ...
在学习jbpm5的过程中,发现很难找到一个合适的,能跑的起来的,整合ssh的例子,之前在csdn上花费不少分下了好多个,能跑起来的好像就1个,不是jar包不匹配就是些其他的莫名奇妙的错误,对应刚刚接触jbpm的人来说,一...
基于java及JBPM5.4流程引擎技术开发.鉴于JBPM5.4版本较新,而目前网上基本上没有对应的简单实例,更不要说负责案例及项目设计。 本课程是在国内没有任何中文文档的情况下,完全靠翻译国外的英文文档并结合项目应用...
JBPM4.4基本项目,入门经典,jbpm4.4经典请假流程
JBPM4.4教程,内含jbpm表结构的搭建,流程的基本流转过程,以及重要概念的详细讲解
该文件是Jbpm工作流基本例子。流程的创建,流程实例的产生和获取等等,每个步骤都写成一个类,可以直接运行。
jbpm 基本使用方法,附带sqlserver数据库,附加数据库后可直接运行
JBPM4.3WEB应用,里面有一个关于请假流程的例子,基本上包含了JBPM4.3的一些常用的方法及服务类,也把它的新特性展现出来了。
流程引擎jBPM基于jboss kie 项目使用的代码示例,包括基本jBPM基本demo,与spring boot 结合使用等,简单易入门
学习jbpm 的最佳例子,例子是用orcal10g 做为数据库的项目实例。本项目对jbpm 用户组 的重写 webroot 下 db 文件夹下有 自己用户角色,关系表的 sql 语句,和基本数据 可以帮助测试,流程跟踪的展示!
本文揭秘了jbpm引擎内核的设计思想和构架,但不是jbpm引擎的全部。请注意是“流程引擎内核”,而不是“流程引擎”。如果我们把流程引擎比作工作流系统的“发动机”,那么“引擎内核”则是一个引擎的“灵魂”。 流程...
本示例主要实现了流程的基本管理,流程实例的管理,适合初学者参考,希望对读者有所帮助。 项目中包含jar包 使用本例子只需要拷贝jbpm4.3的lib的jar包到本实例lib里面即可运行,注意用tomcat6的话必须把juel.jar,...
有关jbpm4.1.3的开发详解,对jbpm流程技术进行基本的介绍