`
fish119
  • 浏览: 146348 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

JBPM4 基本流程

    博客分类:
  • JBPM
阅读更多

初学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();
	
 

 

分享到:
评论
1 楼 HWlail 2012-04-28  
第一步出现 java.lang.NullPointerException  打印Configuration 有值 LZ 怎么解决

相关推荐

    jbpm4.4基本操作

    安装jbpm4插件 发布流程模板 创建流程实例 流程的signal操作 Task节点的任务分配 获取某人的taskList,并对task进行comple操作

    JBPM3.2开发基本流程

    文档是自己通过学习JBPM3总结出来的,大家可以参考一下,包括插件的安装,开发流程,学习总结等等!

    jBPM4实现基本活动.docx

    jBPM4实现基本活动,解释了流程定义的基础,流程虚拟机给予的功能 以及活动实现是如何构建的

    JBPM4工作流应用开始指南.rar

    第二篇主要涉及基于jBPM4这个强大的应用程序框架打造属于自己独特业务的“企业流程管理平台”,包括jBPM4扩展研发先决条件、深入jPDL和jBPM Service API、升级jBPM3到jBPM4、流程虚拟机原理、jBPM4的设计思想、随需...

    JBPM 流程 监控 的实现

    JBPM是JBOSS公司的一个开源工作流产品,它功能强大,商业工作流所提供的功能它基本上都有。然而在JBPM中没有提供流程监控的功能的相关API,这点让很多使用JBPM做企业应用的开发人员颇为头疼。

    Web版物品领取的jbpm流程管理程序

    Web版物品领取的jbpm流程管理程序,可以直接部署到tomcat,程序完整,示范了基本的jbpm流程管理程序的编程方法,导入到myeclipse即可。

    jbpm工作流管理系统

    介绍JBPM的基本流程概念、实例执行的概念及使用JBPM的区别

    jbpm的实现流程图.doc

    一、流程定义的基本概念: 二、流程执行的基本概念: 三、流程引擎核心调度过程 ----------------------- jbpm的实现流程图全文共3页,当前为第1页。 jbpm的实现流程图全文共3页,当前为第2页。 ࠀ࠘ࠚࠜࣾऀंऄआ...

    Jbpm5.4整合springMVC+spring3+hibernate4的请假流程

    在学习jbpm5的过程中,发现很难找到一个合适的,能跑的起来的,整合ssh的例子,之前在csdn上花费不少分下了好多个,能跑起来的好像就1个,不是jar包不匹配就是些其他的莫名奇妙的错误,对应刚刚接触jbpm的人来说,一...

    第二部分、安装和配置JBPM5.4及Eclipse流程插件安装.rar

    基于java及JBPM5.4流程引擎技术开发.鉴于JBPM5.4版本较新,而目前网上基本上没有对应的简单实例,更不要说负责案例及项目设计。 本课程是在国内没有任何中文文档的情况下,完全靠翻译国外的英文文档并结合项目应用...

    jbpm4.4项目

    JBPM4.4基本项目,入门经典,jbpm4.4经典请假流程

    JBPM4.4教程

    JBPM4.4教程,内含jbpm表结构的搭建,流程的基本流转过程,以及重要概念的详细讲解

    Jbpm工作流引擎使用例子

    该文件是Jbpm工作流基本例子。流程的创建,流程实例的产生和获取等等,每个步骤都写成一个类,可以直接运行。

    jbpm 请假流程定义发布项目

    jbpm 基本使用方法,附带sqlserver数据库,附加数据库后可直接运行

    JBPM4.3-例子(简单使用)

    JBPM4.3WEB应用,里面有一个关于请假流程的例子,基本上包含了JBPM4.3的一些常用的方法及服务类,也把它的新特性展现出来了。

    流程引擎jBPM demo及Spring Boot示例

    流程引擎jBPM基于jboss kie 项目使用的代码示例,包括基本jBPM基本demo,与spring boot 结合使用等,简单易入门

    jbpm4.4 请假工作流 实例

    学习jbpm 的最佳例子,例子是用orcal10g 做为数据库的项目实例。本项目对jbpm 用户组 的重写 webroot 下 db 文件夹下有 自己用户角色,关系表的 sql 语句,和基本数据 可以帮助测试,流程跟踪的展示!

    揭秘jbpm流程引擎内核设计思想及构架

    本文揭秘了jbpm引擎内核的设计思想和构架,但不是jbpm引擎的全部。请注意是“流程引擎内核”,而不是“流程引擎”。如果我们把流程引擎比作工作流系统的“发动机”,那么“引擎内核”则是一个引擎的“灵魂”。 流程...

    jbpm4.3+tomcat6简单例子

    本示例主要实现了流程的基本管理,流程实例的管理,适合初学者参考,希望对读者有所帮助。 项目中包含jar包 使用本例子只需要拷贝jbpm4.3的lib的jar包到本实例lib里面即可运行,注意用tomcat6的话必须把juel.jar,...

    JBPM4.1开发手册

    有关jbpm4.1.3的开发详解,对jbpm流程技术进行基本的介绍

Global site tag (gtag.js) - Google Analytics