`
fish119
  • 浏览: 149347 次
  • 性别: 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基本jar包

    jbpm4是一个开源的工作流程管理框架,它提供了强大的业务流程建模、执行和监控能力,使得开发人员可以轻松地集成业务逻辑和工作流程到应用程序中。这个基本jar包包含了jbpm4运行所需的关键库文件,是搭建和运行jbpm4...

    jbpm4 完整的请假流程

    jbpm4是一个基于Java的...通过深入研究这个“jbpm4 完整的请假流程”,不仅可以掌握jbpm4的基本用法,还能理解业务流程管理系统的运作机制,这对于在实际工作中设计和实现复杂的企业级流程管理解决方案具有重要意义。

    JBPM4 常用表结构及其说明

    - **注意事项**: 虽然JBPM4提供了基本的身份认证功能,但在实际应用中可能需要根据具体需求进行扩展或替换。 #### 四、操作信息变化 在使用JBPM4进行流程管理时,不同的操作会导致相应的表发生变化。例如: - **...

    JBPM4 开发文档 实例 流程

    4. **任务(Task)**:需要参与者完成的工作单元,是流程中的基本组成。 5. **任务实例(Task Instance)**:任务在特定流程实例中的具体表现。 6. **流转(Transition)**:任务间的状态变化,定义了流程的路径。 7...

    JBPM4 表 详细介绍

    JBPM4作为其一个版本,具有丰富的功能及特性,尤其在流程管理和任务分配方面表现突出。下面将详细介绍JBPM4中各个表的作用及相关字段说明。 #### 1. **JBPM4_DEPLOYMENT** - 流程定义表 - **描述**: 此表用于存储...

    jbpm4.4基本操作

    本文将详细介绍在JBPM4.4中进行的一些基本操作,包括安装插件、发布流程模板、创建流程实例、理解流程的signal操作、任务节点的任务分配以及如何获取并完成任务列表中的任务。 首先,让我们来探讨如何安装JBPM4插件...

    JBPM4完整示例(包括lib库)

    2. **Java源代码**:展示如何在程序中与JBPM4交互,如启动流程、完成任务、查询流程实例等。 3. **配置文件**(如jbpm.cfg.xml):包含了JBPM4的配置信息,如数据库连接参数、工作内存设置等。 4. **测试类**:...

    JBPM4 学习使用总结

    2. **示例项目**:通过官方提供的示例项目,可以快速理解JBPM4的基本用法。 3. **社区与论坛**:如ITEYE博客中的"obullxl"博主分享的经验,以及JBPM社区,可以获取到实时的问题解答和最佳实践。 总结来说,JBPM4是...

    JBPM4 每张表对应的含义

    JBPM4通过精心设计的数据库结构来支持其复杂的业务流程管理功能。以上提到的每个表都有其独特的用途,共同构成了一个强大的工作流管理系统。通过对这些表的理解,我们可以更好地掌握JBPM4的工作原理和技术实现。此外...

    JBPM工作原理及表结构详解

    - **资源库与运行时的表**:存储流程定义的部署信息,如表`JBPM4_DEPLOYMENT`和`JBPM4_DEPLOYPROP`。 - **历史数据表**:如`JBPM4_HIST_ACTINST`记录活动实例历史,`JBPM4_HIST_DETAIL`记录流程细节变化。 5. **...

    jbpm4实例源码,可直接运行

    **jbpm4实例源码详解** ...通过研究这个jbpm4实例源码,开发者不仅可以了解jbpm4的基本概念,还能学习到如何在实际项目中部署和运行流程。这将极大地提升开发者的业务流程管理能力,使其能够高效地实现企业流程自动化。

    jbpm4所需jar

    标题中的"jbpm4所需jar"表明这是一组与jbpm4版本相关的Java库文件,jbpm(Business Process Management)是一个开源的工作流程管理系统,用于管理业务流程。在Java应用程序中,JAR(Java Archive)文件是包含类文件...

    jbpm4请假实例代码

    jbpm4是一个开源的工作流管理系统,它提供了强大的业务流程建模、执行和管理功能,使得开发者能够轻松地集成业务流程到他们的应用程序中。 在jbpm4实例代码中,我们可以学习到以下几个关键知识点: 1. **jbpm4介绍...

    jbpm4leave.zip_DEMO_java4leave_jbpm4lea_jbpm4leave_jbpm4leave.zi

    【jbpm4leave.zip_DEMO_java4leave_jbpm4lea_jbpm4leave_jbpm4leave.zi...通过深入学习和分析Java4Leave的源码,开发者不仅可以了解Jbpm的基本用法,还能掌握如何在实际项目中集成和使用Jbpm,提升业务流程开发的能力。

    jbpm4 中文文档教程

    本教程简要介绍了JBPM4的基本使用方法,包括如何获取流程引擎、管理流程定义以及操作流程实例等内容。通过这些基本操作,用户可以快速上手JBPM4,并利用其强大的功能来构建自己的业务流程应用。需要注意的是,上述...

    jbpm4web请假例子,eclipse项目,下卷。

    【jbpm4web请假例子】是一个基于JBPM4工作流引擎的示例应用,它演示了如何在Eclipse环境中开发和部署一个简单的请假流程。这个例子可以帮助开发者理解工作流管理系统的基本概念,以及如何将它们集成到实际的Web应用...

    jbpm4.4基本语法

    JBPM4.4 是一款强大的工作流管理系统,用于构建和管理业务流程。在这个系统中,有几个核心的对象和服务,它们构成了JBPM的核心功能。 1. **ProcessEngine对象**:ProcessEngine 是整个jbpm的核心,它是从 ...

    提前试用spring 集成 jbpm4

    首先,我们需要了解jbpm4的基本概念,包括工作流定义(Workflow Definition)、任务(Task)、节点(Node)以及流程实例(Process Instance)。jbpm4通过 BPMN 2.0 标准提供了一种可视化的方式来设计这些流程。 在...

    jbpm4设计器 Application化的雏形

    在深入探讨jbpm4设计器的Application化雏形之前,我们首先要理解jbpm4的基本概念。jbpm4是一款开源的工作流管理系统,它提供了强大的工作流建模、执行和监控功能。在这个系统中,设计器是用户与流程模型交互的重要...

Global site tag (gtag.js) - Google Analytics