`
xgbjmxn
  • 浏览: 270539 次
  • 性别: Icon_minigender_1
  • 来自: 新乡
社区版块
存档分类
最新评论

JBPM4.3总结四 2.9任务管理

    博客分类:
  • jbpm
阅读更多
JBPM4.3总结四
(2010-05-05 11:53:32)
转载
标签:
杂谈
分类: jbpm
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

分享到:
评论

相关推荐

    SSH+JBPM4.3的整合 JBPM4.3

    理解JBPM4.3中的流程管理,不仅涉及流程定义,还包括流程实例的运行、任务的分配与完成、异常处理等。通过SSH的集成,我们可以将这些复杂的业务逻辑封装起来,使得Web应用更加模块化,同时保持良好的可扩展性和维护...

    jbpm4.3工作流程管理例子

    3. 任务管理:jbpm4.3内置了任务服务,用于管理任务的分配、启动、完成和监控,确保流程中的每个步骤都能按预期执行。 4. 规则集成:与JBoss Drools融合,允许在流程中嵌入规则引擎,实现规则驱动的决策过程。 5. ...

    开源工具 jbpm4.3

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

    JBPM4.3培训学习视频, 包含了JBPM4.3的eclipse插件

    【JBPM4.3培训学习视频】是一套针对初学者设计的教程,旨在帮助学习者掌握JBPM4.3这一企业级工作流管理系统的核心概念和技术。JBPM是Java Business Process Management的缩写,是一个开源的工作流和业务流程管理平台...

    jbpm jbpm4 jbpm4.3 工作流

    3. **任务管理**:jbpm4.3提供了一个强大的任务服务,允许用户分配、领取、完成和管理任务。它支持自定义任务监听器和任务工作流,使得任务处理更加灵活。 4. **规则集成**:jbpm4.3集成了Drools规则引擎,允许在...

    jbpm4.3与spring整合

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

    jBPM4.3.rar_JBPM4.3

    jbPM 4.3 的任务服务允许分配和管理工作项,即流程中的活动。任务可以分配给用户、组或其他系统服务。它还支持任务监听器和自定义任务行为,以适应不同组织的业务需求。 **7. 监控与跟踪** jbPM 4.3 提供了强大的...

    jbpm4.3视频教程+代码

    1. **Jbpm介绍**:介绍Jbpm的起源、目标和在业务流程管理(BPM)领域的地位,解释为何选择Jbpm4.3作为开发工具。 2. **安装与配置**:详述如何在开发环境中安装Jbpm4.3,包括所需的Java环境、数据库设置以及Eclipse ...

    jbpm4.3环境搭建

    【jbpm4.3环境搭建】涉及的知识点主要包括jbpm工作流引擎的版本管理、集成环境的构建、软件依赖配置以及数据库的连接设置。以下是详细的内容: 1. **jbpm4.3**:jbpm(Java Business Process Management)是一个...

    jbpm jbpm4.3.jar

    jbpm jbpm4.3.jar DDDDDDDD

    jbpm4.3、ssh环境搭建

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

    jbpm4.3所需jar包

    **jbpm4.3所需jar包** JBPM(Java Business Process Management)是一个开源的工作流管理系统,主要用于业务流程的建模、执行和管理。在JBPM 4.3版本中,为了实现完整功能,需要一系列的jar包来支持其运行环境。...

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

    JBPM4.3提供了几个关键的服务,如流程实例管理、任务服务和历史服务。流程实例管理允许启动新的流程实例,查询当前运行的实例,并控制它们的生命周期(如挂起、恢复或终止)。任务服务主要用于处理工作项的分配、...

    jbpm4.3问题解决

    jbpm4.3是Jboss Business Process Management (BPM)平台的一个版本,它是一个开源的工作流管理系统,用于设计、执行和管理业务流程。本篇主要针对jbpm4.3使用过程中遇到的问题及其解决方法进行详细阐述。 首先,...

    jBPM4.3用户指南

    jBPM是一个业务流程管理解决方案,它支持BPMN(Business Process Modeling Notation)2.0标准,提供了工作流引擎、规则引擎、事件处理和任务服务等功能,旨在帮助开发者创建、管理和执行复杂的业务流程。 **1.5. ...

    jbpm4.3 - demo

    3. **持久化**:jbpm4.3使用Hibernate进行数据持久化,这意味着流程实例、任务状态和其他相关数据可以存储在数据库中,确保流程的可恢复性和持久性。 4. **任务服务**:提供任务管理接口,允许应用程序与工作流中的...

    JBPM4.3使用说明.doc

    JBPM4.3 是一个基于工作流程管理的系统,旨在帮助用户更好地管理和自动化业务流程。下面是 JBPM4.3 的使用说明和相关知识点。 安装和整合 JBPM4.3 的安装包结构目录包括 doc、Example、Install、lib、Migration、...

    jbpm4.3 开发指南

    **jbpm4.3 开发指南** JBPM(Java Business Process Management)是一...通过深入学习"jbpm4.3开发指南",开发者不仅可以掌握jbpm4.3的具体用法,还能理解BPM系统的设计理念,为后续的业务流程管理项目打下坚实基础。

    jbpm4.3 中文文档

    jbpm4.3是JBoss企业级业务流程管理(Business Process Management)平台的一个版本,它提供了全面的工作流和业务流程自动化解决方案。这个中文文档集合旨在帮助中国开发者和IT专业人士更好地理解和使用jbpm4.3的功能...

    jbpm4.3英文API

    2. **任务管理**:jbpm4.3提供了任务服务,允许开发者管理任务的生命周期,包括创建、分配、完成和删除任务。API中包含的任务接口可以用来进行这些操作,同时支持任务查询和定制化的任务监听器。 3. **工作流引擎**...

Global site tag (gtag.js) - Google Analytics