- 浏览: 270675 次
- 性别:
- 来自: 新乡
文章分类
- 全部博客 (227)
- servciemix (10)
- db (18)
- javaTools (4)
- hibernate (31)
- web (3)
- spring (14)
- design pattern (4)
- java security (3)
- portal (1)
- ejb (6)
- session (2)
- java_lang (21)
- jbpm (29)
- struts (7)
- orgRights (2)
- project manager Jira (7)
- 跨库事务 (2)
- mysql (14)
- ubuntu (7)
- osgi (9)
- maven ant make (4)
- 分布式 高并发 高性能 (5)
- virgo-dm_server (0)
- osgi web (3)
- platform (1)
- smooks (1)
- business (1)
- 职场生涯 (14)
- Java编码格式 (2)
- web服务 (1)
- 计算机使用 (1)
- 健康工作生活的保障,工作中务必抛掉的不良心态 (4)
- 电信-网络监控 (1)
- 多线程-multithread (1)
- 海量数据-高性能 (2)
- Mybatis (1)
- web开发平台研发 (0)
- oracle (0)
- 应用服务器调优 (0)
- web前端 (0)
- servlet-jsp (0)
- tomcat (2)
- newtouch (1)
- portal_liferay (2)
- version control (1)
- apm-impact (2)
- tools (1)
- 研发管理 (1)
- 电商业务 (1)
- 生鲜电商市场调查 (0)
- PBX (0)
- 房东 (0)
最新评论
-
lifuchao:
...
权限问题 -
Branding:
谢谢,受教了,另外,CONN AS SYSDBA,必须是在操作 ...
Oracle密码忘记了怎么办? -
zhuchao_ko:
...
Portal实现原理 -
败类斯文:
不知道改哪里。。。木有见到红色。。表示悟性低了、、
jira error: Neither the JAVA_HOME nor the JRE_HOME environment variable is defin -
c__06:
正文:假如事务我是这样定义的: <tx:method n ...
Spring中Transactional配置
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的定义。
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的定义。
发表评论
-
JBPM4的优秀博文链接
2011-08-31 22:39 13331 Jbpm4 IOC容器 http://www.it ... -
jbpm4 在tomcat6 下面ssh2 错误
2011-08-31 21:35 1003异常:java.lang.LinkageError: load ... -
JBPM4表结构说明
2011-07-23 00:33 1302JBPM4表结构说明 (2010-05-05 14:10:02 ... -
jbpm流程文件的部署
2011-07-23 00:32 1201jbpm流程文件的部署 (2010-05-05 14:51:5 ... -
BPM4.3总结二 Jbpm4.3使用文档
2011-07-23 00:30 1159JBPM4.3总结二 [此博文包含图片] (2010-05-0 ... -
JBPM4.3总结五 合同审批实例
2011-07-23 00:27 1365JBPM4.3总结五 [此博文包含图片] (2010-05-0 ... -
JBPM4.3总结四 2.9任务管理
2011-07-23 00:26 1065JBPM4.3总结四 (2010-05-05 11:53:32 ... -
JBPM4.3总结三 集成自定义用户表
2011-07-23 00:24 1583JBPM4.3总结三 (2010-05-05 11:54:56 ... -
swing 实现JBPM 4.2例子
2011-07-22 13:20 1042swing 实现JBPM 4.2例子 http://blo ... -
jbpm frequently used url
2011-06-29 12:19 10921. http://old.family168.com/bb ... -
jbpm4 和 spring 的集成
2011-06-29 11:37 841jbpm4 内置了和 spring 的集成支持, 配置很简单, ... -
任务提交后为什么JBPM4_HIST_VAR不存在值
2011-06-29 11:05 1503JbpmProcessEngineUtil.getExecut ... -
权限问题
2011-06-29 09:05 1242机构 与 权限关系表:机构拥有与之关联的权限 应用 与 权限 ... -
jBPM4的运行期环境
2011-06-29 08:52 690一、运行期环境就是一个餐馆 二、jBPM4的运行期环境 E ... -
Jbpm4.3连接数据库配置
2011-06-29 08:35 1317Jbpm4.3连接数据库配置 收藏 1、我以mysql为例子 ... -
jbpm4 有18张表,简单介绍如下
2011-06-29 08:33 1837jbpm4 有18张表,简单介绍如下: JBPM4_DEP ... -
Drools
2011-06-28 20:59 1284Drools - The Business Logic int ... -
Activiti BPM Platform
2011-06-28 20:58 1128Activiti BPM Platform http://a ... -
jbpm之6 JBPM流程通过Aciton动态创建TaskInstance来实现“会签”
2011-06-28 20:57 841jbpm6(2007-03-14 23:32:38)转载 ... -
jbpm之6 JBPM流程通过Aciton动态创建TaskInstance来实现“会签”
2011-06-28 20:52 803jbpm6(2007-03-14 23:32:38)转载 ...
相关推荐
3. 任务管理:jbpm4.3内置了任务服务,用于管理任务的分配、启动、完成和监控,确保流程中的每个步骤都能按预期执行。 4. 规则集成:与JBoss Drools融合,允许在流程中嵌入规则引擎,实现规则驱动的决策过程。 5. ...
6. **任务管理**:JBPM提供了任务服务,允许用户进行任务查询、领取、完成等操作。在Struts视图层,可以展示待办任务列表,用户交互后触发任务状态的变化。 7. **监控与优化**:JBPM提供了丰富的监控功能,如流程...
jbpm4.3是一个强大的开源工作流管理系统,它允许开发者和业务分析师以图形化的方式设计、执行和管理业务流程。这个工具的核心在于将复杂的业务逻辑转化为计算机可以理解并执行的语言,极大地提高了工作效率和流程的...
这套视频教程共分为9个部分,虽然具体的子文件列表中只列出了三个,但可以推断其余的部分可能包括了深入的流程设计、任务管理、事件处理等方面的内容。下面我们将对已知的三个视频教程进行详细介绍: 1. **jBPM 4...
任务管理和工作流参与者** jbPM 4.3 的任务服务允许分配和管理工作项,即流程中的活动。任务可以分配给用户、组或其他系统服务。它还支持任务监听器和自定义任务行为,以适应不同组织的业务需求。 **7. 监控与跟踪...
1. **Jbpm介绍**:介绍Jbpm的起源、目标和在业务流程管理(BPM)领域的地位,解释为何选择Jbpm4.3作为开发工具。 2. **安装与配置**:详述如何在开发环境中安装Jbpm4.3,包括所需的Java环境、数据库设置以及Eclipse ...
3. **任务管理**:jbpm4.3提供了一个强大的任务服务,允许用户分配、领取、完成和管理任务。它支持自定义任务监听器和任务工作流,使得任务处理更加灵活。 4. **规则集成**:jbpm4.3集成了Drools规则引擎,允许在...
1. **jbpm4.3**:jbpm(Java Business Process Management)是一个开源的工作流管理系统,版本4.3是其历史版本之一,用于业务流程自动化,支持BPMN2.0标准。 2. **集成环境**:jbpm4.3需要与应用服务器如Tomcat或...
**jbpm4.3所需jar包** JBPM(Java Business Process Management)是一个开源的工作流管理系统,主要用于业务流程的建模、执行和管理。在JBPM 4.3版本中,为了实现完整功能,需要一系列的jar包来支持其运行环境。...
JBPM4.3提供了几个关键的服务,如流程实例管理、任务服务和历史服务。流程实例管理允许启动新的流程实例,查询当前运行的实例,并控制它们的生命周期(如挂起、恢复或终止)。任务服务主要用于处理工作项的分配、...
jbpm4.3是Jboss Business Process Management (BPM)平台的一个版本,它是一个开源的工作流管理系统,用于设计、执行和管理业务流程。本篇主要针对jbpm4.3使用过程中遇到的问题及其解决方法进行详细阐述。 首先,...
此外,还涵盖了与数据库的集成、任务管理、错误处理和事务管理等内容。 **1.6. 从jBPM 3升级到jBPM 4** 升级过程可能涉及到数据迁移和API变更,指南提供了升级步骤和注意事项,确保平稳过渡。 **1.7. 报告问题** ...
4. **任务服务**:提供任务管理接口,允许应用程序与工作流中的任务交互。例如,查询当前待办任务,领取任务,完成任务等操作。 5. **监听器和事件**:jbpm4.3支持事件监听,可以在流程的不同阶段触发自定义逻辑,...
3. **任务管理(Task Management)**:JBPM4.3支持任务分配、接收、完成和转移。在示例中,你会了解到如何通过工作项管理器(Work Item Manager)处理任务,以及如何与用户交互。 4. **数据库存储(Database ...
- **任务管理**:允许分配任务给特定用户或角色,并提供任务跟踪和管理工具。 - **异常处理**:包含了处理流程执行过程中可能出现的各种异常情况的策略和方法。 ### 具体知识点解析 1. **基本概念**: - **工作流...
jbpm4.3英文API文档包含了所有核心组件的详细说明,如流程定义、任务管理、事件处理、工作流引擎等。以下是一些关键的知识点: 1. **流程定义**:jbpm4.3支持使用BPMN 2.0标准来定义流程。BPMN(Business Process ...
**jbpm4.3 开发指南** JBPM(Java Business Process Management)是一个开源的工作流管理系统,专注于业务流程的建模、执行和管理。jbpm4.3是该系统的早期版本,尽管现在已经有更新的版本,但这个版本对于理解BPM...
3. **任务管理**:jbpm提供了一个任务服务,用于分配和管理任务。任务可以被指派给特定的用户或角色,用户可以完成、挂起、重新分配任务,确保流程的顺畅进行。 4. **规则集成**:jbpm4.3集成了Drools规则引擎,...
2. **Spring对jbpm4.3的管理**:Spring框架可以管理jbpm4.3中的SessionFactory和ProcessEngine等核心组件,通过DI实现它们的创建和销毁,同时可以利用AOP进行事务管理,确保流程操作的原子性。 3. **Hibernate与...
5. **任务管理**:JBPM提供了用户友好的任务界面,使得业务用户可以查看、领取和完成任务。此外,还支持任务分配策略,如根据角色、优先级等条件分配任务。 6. **监控与跟踪**:系统提供流程实例的监控工具,可以...