`

JBPM4.3总结四

阅读更多

2.9任务管理

2.9.1 分配任务

流程定义时,分配任务有多种方法:

1.  直接分配给成员:assignee="user1"  可以同时分配多人: candidate-users "user1","user2","user3"

2.  分配给组:candidate-groups="it_dept"  分 配给多个组:用逗号隔开部门 id 组列表。

3.  利用任务泳道进行分配:

1. 任 务泳道分配的特点:一个单子可以有多个人填写,一旦A 填写了,别人就不能 填写。而且 当A 提交的单子被退回的时候还应该有 A 来继续。

2. 泳 道定义:<swimlane candidate-groups="it_dept" name="test"/> ,也可以为  candidate-users.

3. 使 用泳道:在task 定义时  swimlane="test"  使用泳道,任务分配 给 it_dept  门

4. 使 用任务分配器assignment-handler 标签 使用方法: <assignment-handler class = "">

<field name="test"><string value="ttttttt"/></field>

</assignment-handler>

class 里面动态分配 assignable.setAssignee(test);

通过传参数,设置 test 的值。实现动态分配

 

2.9.2 成员任务列表

List<Task> taskList = taskService.findPersonalTasks(username);

2.9.3 组成员任务列表

List<Task> taskList = taskService.findGroupTasks(username);

由于任务有转交,加签等功能,所以一个人想要得到自己的任务就包括 组成员任务和 成 员任务两部分组成。

2.9.4 执行任务

得到任务列表后,如果任务有对应的表单,就先跳到表单,填写,然后执行。表单的绑定:在task 标签中使用  form = "xxxx.jsp" ,执行语句:

 

taskService.completeTask(taskId,"toFork1",map);

taskId 是任务 id 

toFork1  outcome ,即任务的出口

Map 是 传递的任务参数,通过任务就可以得到这些参数 :

得到指定的参数值:taskService.getVariable(taskId, "user")

    得到所 有的参数:taskService.getvariableNames(java.lang.String.taskId);

2.9.5 转交任务

taskService.assignTask(taskId,"用户 Id");

2.9.6 任务加签

taskService.addTaskParticipatingUser(taskId,"用户 Id",Participation.CANDIDATE);

2.9.7 fork  join 异步分支

<fork g="276,239,48,48" name="fork1">

      <transition g="-54,-18" name="to 计划部 " to=" 计划部 "/>

      <transition g="-54,-18" name="to 法务部 " to=" 法务部 "/>

      <transition g="-64,-18" name="to IT规划部 " to="IT 规划部 "/>

</fork>

Fork join 处理并发的情况,分配给的三个部门当执行完后,都流入到 join 标签。

Join标签属性:  multiplicity="3" multiplicity  的意思是当有几个执行到了 join 时,流程继续。

2.9.8 decision 决定条件

decision中会运行并判断每一个 transition  里的判断条件。 当遇到一个嵌套 条件是 true  或者没有

设置判断条件的 转移,那么转移就会被运行。

例子:当天数大于3 天,总经理审批 否则 结束

<decision expr="#{day > 3 ? 'to 总经理 ' : 'to  结束 }" g="361,280,48,48"  name="exclusive1">

      <transition g="-42,-18" name="to end1" to="end1"/>

      <transition g="-44,-18" name="to task2" to="总经理审核 "/>

   </decision> 

Decision属性:  expr  表达式 必填

 

 

2.9.9 Events 事件

 当一个流程通 过这一点时,事件监听器就会被提醒。

用法:在流程的 任何地方都可以加入监听 

<on event="start"> 

<event-listener class="org.jbpm.examples.eventlistener.LogListener"> 

// 参数

      <field name="msg"><string value="start on process definition"/></field> 

    </event-listener> 

2.9.10  JPDL 简 介
1. Start state

开始节点 流程 开始,每个流程定义文件 只能有一个开始节点。

2. Task node

任务节点  人 工参与,调用processEngine.getTaskService().complete() 完 成任务

3.State node

状态节点

需要使用execution.signalExcution() 触 发流程流转

4. Descision Node

流程流向判断节 点

指定condition 条件或者 DesisionHandler

5. Fork node

分支节点, 任务并行处理

6.Join node

任务聚合节点

7. End State

任务结束节 点 可以有多个结束节点

8. Transition

控制任务流向

9. Event

事件触发 可以 在任何节点加事件触发处理

 

具体参看${JPBM.HOME}/doc/userguide 文 档 关于 JPDL 的描述

 

 

3数 据库表说明

(1) JBPM4_DEPLOYMENT

(2) JBPM4_DEPLOYPROP

(3) JBPM4_LOB
存储 上传一个包含png jpdl.xml zip 包 的 相关数据 
jbpm4_deployment表多了一条记录 
jbpm4_deployprop表多了四条记录 , 对应 langid,pdid,pdkey,pdversion 
jbpm4_lob 表多了二条记录 , 保存流程图 png 图片和 jpdl.xml 
4 JBPM4_HIST_PROCINST 与( 5 JBPM4_HIST_ACTINST
分别存放的是Process Instance Activity Instance 的历史记录。 
6 JBPM4_EXECUTION
主要是存放JBPM4 的执行信息, Execution 机制代替了 JBPM3 Token 机制 
7 JBPM4_TASK
存放需要人来完成的Activities ,需要人来参与完成的 Activity 被称为 Task 。 
8 JBPM4_PARTICIPATION
存放Participation 的信息, Participation 的种类有 Candidate 、  Client Owner Replaced  Assignee Viewer 。而具体的 Participation 既可以是单一用户,也可以是用户组。 
9 JBPM4_SWIMLANE
Swim Lane是一种 Runtime Process Role 。通过 Swim Lane ,多个 Task 可以一次分配到 同一Actor 身 上。 
10 JBPM4_VARIABLE 
存的是进行时的临时变量。 
11 JBPM4_HIST_DETAIL
保存Variable 的变更记录。 
12 JBPM4_HIST_VAR
保存历史的变量。 
13 JBPM4_HIST_TASK
Task的历史信息。 
14 JBPM4_ID_GROUP 15 JBPM_ID_MEMBERSHIP 16 JBPM4_ID_USER 
这三张表很常见了,基本的权限控制,关于用户认证方面建议还是自己开发一套,JBPM4 的功能太简单了,使用 中有很多需要难以满足。 
17 JBPM4_JOB 
存放的是Timer 的定义。 
18 JBPM4_PROPERTY

分享到:
评论

相关推荐

    开源工具 jbpm4.3

    总结来说,jbpm4.3是一款强大而灵活的开源工作流解决方案,它通过图形化设计、内置工作流引擎、业务规则支持以及丰富的扩展能力,为企业和开发者提供了全面的业务流程管理工具。无论是在中小型企业还是大型组织中,...

    jbpm4.3工作流程管理例子

    jbpm4.3是JBoss Business Process Management (BPM) Suite的一个版本,它是一个开源的企业级BPM平台,用于设计、执行和管理业务流程。在这个"jbpm4.3工作流程管理例子"中,我们将深入探讨jbpm4.3的核心特性和如何...

    jbpm4.3与spring整合

    ### jbpm4.3与Spring框架的整合指南 在企业级应用开发中,流程管理引擎JBPM(JBoss Business Process Management)与Spring框架的结合使用是常见的一种技术方案。JBPM是一个灵活、强大的业务流程管理工具,而Spring...

    jbpm4.3、ssh环境搭建

    #### 四、jBPM4.3 + SSH环境搭建 1. **数据库初始化**: - 在`jbpm-4.3\install\src\db\create`目录下选择适合您数据库的脚本。 - 执行脚本创建所需的18张表。 - 使用`jbpm-4.3\install\src\demo`下的SQL脚本...

    jbpm4.3 流程申请(mina通信)

    jbpm4.3是Java Business Process Management (BPM)系统的第四次重大版本更新,它提供了一套完整的业务流程管理解决方案,包括流程设计、执行、监控和优化等功能。在这个例子中,我们关注的是如何在jbpm4.3中实现基于...

    jbpm4.3中文用户指南,开发手册

    总结来说,jbpm4.3中文用户指南和开发手册覆盖了jbpm的核心功能、设计原则以及实际应用,对于想要深入理解和使用jbpm的开发者和业务人员来说,是一份宝贵的参考资料。通过这份文档,你可以了解如何有效地利用jbpm4.3...

    JBPM4.3 学习笔记

    总结,JBPM4.3的学习笔记涵盖了流程建模、执行、服务集成等多个方面,通过深入源码理解和工具实践,有助于开发者掌握企业级业务流程管理的技能。这份文档资料是深入了解和掌握JBPM4.3的重要参考资料。

    jbpm4.3 请假流程实例示例

    总结起来,"jbpm4.3 请假流程实例示例"是学习和理解jbpm4.3的一个很好的起点。通过分析"holiday.jpdl.xml"和"holiday.png",我们可以深入了解BPM的概念,掌握如何设计和实施业务流程,以及如何利用jbpm4.3提供的工具...

    jbpm4.3 API

    总结来说,jbpm4.3 API是用于构建企业级流程管理系统的关键工具集,它涵盖了流程定义、实例管理、任务处理、事件处理、并发控制和集成等多个方面,为Java开发者提供了强大的流程自动化能力。通过深入理解和熟练使用...

    jbpm4.3 会签的实现

    总结,jbpm4.3的会签功能为企业级工作流提供了强大的支持,通过源码分析和工具应用,开发者可以有效地设计和实现复杂的会签流程。理解并掌握这些知识点对于开发高效、灵活的工作流系统至关重要。在实际项目中,结合...

    jbpm4.3请假的jar包

    总结来说,Jbpm4.3请假的jar包是理解Jbpm在实际业务应用中的重要资源,它包含了流程定义、工作流引擎、业务逻辑、持久化支持等多个关键组成部分,对于学习和实践企业级工作流管理系统具有极大的参考价值。...

    jbpm 4.3 pvm的使用

    ### jbpm 4.3 pvm的使用 #### 一、概述 JBPM(Jobflow-Based Process Management)是一个开源的工作流引擎,它基于Java技术,主要用于实现业务流程管理(BPM)。JBPM允许开发者轻松地定义流程,并将其与应用程序...

    jbpm4.3学习笔记及请假流程代码

    【JBPM4.3学习笔记及请假流程代码】 JBPM(Java Business Process Management)是一个开源的工作流管理系统,它提供了一套完整的解决方案,用于管理和执行业务流程。JBPM4.3是该系统的其中一个版本,它包含了流程...

    JBPM4.3工作流请假流程例子

    总结来说,这个例子向我们展示了如何利用JBPM4.3在Myeclipse环境下构建和执行一个简单的请假流程。从环境配置、流程设计到代码实现,每个环节都体现了BPM系统在企业业务自动化中的重要作用。通过学习和实践这样的...

    jbpm4.3+struts2+spring3+hibernate3整合(一)

    总结来说,"jbpm4.3+struts2+spring3+hibernate3整合(一)"这个主题涵盖了Java企业级应用开发中的核心组件集成,涉及业务流程管理、MVC框架、依赖注入框架和ORM工具的使用。这一整合旨在提供一个灵活、高效且易于...

    JBPM4.3整合Spring2.5.6的例子

    **JBPM4.3 整合 Spring2.5.6 的例子** 在企业级应用开发中,流程管理和任务调度是至关重要的部分。JBoss Business Process Management (JBPM) 是一个开源的工作流和业务流程管理系统,它支持BPMN 2.0标准,提供流程...

    ssh+jbpm-4.3集成案例

    在这个"ssh+jbpm-4.3集成案例"中,我们将探讨如何将SSH框架与Jbpm 4.3版本相结合,以实现业务流程自动化和管理。Jbpm 4.3是Jbpm的一个较旧但仍然广泛使用的版本,它提供了工作流定义、任务管理和监控等功能。 1. **...

    jbpm-4.3.zip

    总结来说,jbpm-4.3是一个全面的工作流管理系统,具备流程建模、执行、监控和扩展能力。它为开发者提供了一整套工具和接口,以实现业务流程自动化,提升企业运作效率。尽管该版本较老,但其稳定性和成熟的特性仍使其...

Global site tag (gtag.js) - Google Analytics