在JBPM4中,为TASK指定某个角色的用户,是十分常见的需求,本文针对这个大概讲解下思路。
如有填写申请--审批两个流程,分别由申请岗和审批岗两个岗位的人去执行, 可以设计流程文件如下:
<task g="513,209,92,52" name="确认到帐">
<assignment-handler class="AssignTask"/>
<transition g="-71,-17" name="to 审核" to="审核"/>
</task>
<task g="533,439,92,52" name="审核">
<assignment-handler class="AssignTask"/>
<transition g="-83,-17" name="非其他选项" to="exclusive1"/>
</task>
可以看到,这里每个TASK中,都使用了assignment-handler,这里没个task的name,设定为跟角色的名称一样,则在每个AssignTask中,可以这样写:
public class AssignTask extends BaseBiz implements AssignmentHandler {
ProcessEngine processEngine=Configuration.getProcessEngine();
TaskService taskService=processEngine.getTaskService();
public void assign(Assignable arg0, OpenExecution execution) throws Exception {
List<String> list_user=new ArrayList();
String pid=execution.getProcessInstance().getId();
TaskImpl taskImpl = (TaskImpl)arg0;
ExecutionImpl executionImpl = (ExecutionImpl)execution;
String activityname=executionImpl.getActivityName();
//如果当前结点为确认到帐,则为其分配qr,qr1两个用户,这两个用户可以从数据库中,根据角色读取
if (activityname.equals("确认到帐"))
{
list_user.add("qr");
list_user.add("qr1");
}
//最后使用addCandidateUser把用户都加进去
for (String user : list_user) {
arg0.addCandidateUser(user);
}
可以看到,在实际应用中,应该把比如“确认到帐”这样的角色的用户加载进来,放到list_user中去。
最后要注意的是,如果遇到FORK-JOIN的话,必须用JBPM 4.4,用4.3的话,会遇到BUG的,开始还以为我的这个方法不行,其实是JBPM4.3的一个BUG,换成4.4都OK了
分享到:
相关推荐
**JBPM4_ID_MEMBERSHIP** — 用户角色表 - **作用**: 记录用户与角色的关系。 - **主要内容**: 用户ID、角色ID等。 - **特点**: 有助于实现基于角色的访问控制(RBAC)。 ##### 18. **JBPM4_ID_USER** — 用户表 - *...
- `JBPM4_TASK`: 新增一条记录。 - `JBPM4_HIST_TASK`: 新增一条记录。 - `JBPM4_HIST_ACTINST`: 新增一条记录。 - **填写申请信息**: - `JBPM4_VARIABLE`: 新增N条记录,具体数量取决于表单信息。 - `JBPM4_...
总的来说,这个主题资料包提供了jbpm4和jbpm5的基础知识、实战经验和用户操作指导,对于想要学习或深化jbpm流程管理框架理解的开发者非常有价值。通过学习这些文档,开发者可以掌握jbpm的核心概念,熟练地设计和部署...
- **JBPM4_ID_MEMBERSHIP**:用户与角色关联表。 - **JBPM4_ID_USER**:用户表。 - **JBPM4_JOB**:定时任务表。 - **JBPM4_LOB**:存储大对象数据。 - **JBPM4_PARTICIPATION**:参与者表。 - **JBPM4_SWIMLANE**:...
`JBPM4_TASK`表用于管理任务。每个任务都关联着一个或多个活动,并且可以包含分配给特定用户或角色的任务。这些任务可能是人工任务,也可能是自动化任务的一部分。 #### 8. `JBPM4_PARTICIPATION` 此表存储了参与...
JBPM4_TASK 表存放需要人来完成的 Activities,需要人来参与完成的 Activity 被称为 Task。这张表记录了流程中的任务信息,包括任务的状态和分配情况。 JBPM4_PARTICIPATION JBPM4_PARTICIPATION 表存放 ...
**jBPM4用户指南入门教程** jBPM4是一个基于Java的企业级工作流管理系统,它为业务流程管理(BPM)提供了全面的解决方案。本教程将引导您逐步了解如何安装配置、使用流程设计器、部署业务归档以及利用服务和jpdl...
- **胡奇:** 虽然对于胡奇的具体身份未给出详细信息,但可以推测胡奇应是一位有丰富经验的jBPM4用户或开发者,他编写的工作流应用开发指南获得了高度评价。 - **十分赞:** 这个评论可能来源于阅读过该指南的其他...
开发者可以通过查看和运行这些源代码,学习如何创建用户交互界面、与jbpm4服务交互以及如何实现流程的生命周期管理。 jbpm4还支持扩展和定制,例如,你可以通过编写自定义的工作流监听器、任务监听器和事件处理器来...
在jbpm4中,processDefinition、processInstance和Task是三个非常关键的概念,它们构成了流程管理的基础。 1. **ProcessDefinition**: ProcessDefinition是流程的蓝图,它定义了一个流程的结构和行为。它包含了...
"jBPM4.0.pdf"很可能是jbpm4的官方用户手册,详细阐述了新版本的改进、特性以及如何迁移从旧版本到新版本。这会帮助用户和开发者理解jbpm4的新特性和最佳实践。 "jBPM Developers Guide.txt"和"jBPM User Guide.txt...
1. **流程定义(Process Definition)**: 在JBPM4中,业务流程以BPMN2(Business Process Model and Notation 2.0)的XML文件形式进行定义,包含了流程图中的各个节点和连接线,如任务(Task)、事件(Event)、网关...
jbpm4是一个基于Java的企业级工作流管理系统,用于设计、执行和管理业务流程。这个“jbpm4 完整的请假流程”是一个示例项目,旨在帮助初学者理解和实践jbpm4在处理业务流程,尤其是请假申请流程中的应用。在这个项目...
**jbPM4工作流示例jbpmDemo**是一款基于jBPM4的工作流管理系统实例,旨在帮助用户深入了解和掌握jBPM4工作流引擎的使用方法。jBPM4是一款强大的开源工作流管理系统,它提供了流程建模、执行以及监控等功能,广泛应用...
【jBPM4学习总结】 jBPM,全称为Java Business Process Management,是一个开源的、灵活且可扩展的业务流程管理框架,涵盖了业务流程管理、工作流和服务协作等多个领域。自2004年10月加入JBoss组织后,jBPM逐渐成为...
- **JBPM4_PARTICIPATION**:记录参与者的角色和关联的执行实例。 - **JBPM4_PROPERTY**:系统配置和定制属性。 - **JBPM4_SWIMLANE**:泳道表,用于定义流程图中的责任划分。 - **JBPM4_TASK**:任务表,记录...
【JBPM4 Java源代码分包详解】 JBPM4是一个流行的开源工作流管理系统,它提供了一整套用于设计、执行和管理业务流程的工具。在深入研究JBPM4的源代码时,我们可以从其包结构中了解到框架的核心功能和设计理念。 1....
3. **任务管理**:jbpm4提供任务服务,允许用户领取、完成任务,以及对任务进行查询和管理,支持自定义任务表单和工作流审批规则。 4. **规则引擎**:jbpm4集成了Red Hat的JBoss Drools规则引擎,使得流程决策可以...
**jBPM4完整例子详解** jBPM4是一个企业级的工作流管理系统,它提供了强大的业务流程管理和工作流实现能力。这个"jBPM4完整例子"是一个基于SSH(Struts2、Spring、Hibernate)框架集成jBPM4.4的请假流程应用,非常...
jbpm4web提供了一个用户友好的任务列表,让用户能够查看并处理待办任务。参与者可以完成任务、分配任务给其他人,或者对任务进行评论和附件上传等操作。 4. **流程控制**: 在jbpm4web中,用户还可以进行流程控制...