`

jbpm4中为TASK指定角色用户

阅读更多
在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了
4
3
分享到:
评论

相关推荐

    jbpm4源码jbpm4源码jbpm4源码

    jbpm4是一款基于Java的企业级工作流管理系统,它提供了流程定义、执行、监控以及管理的一整套解决方案。源码分析是深入理解一个软件系统架构、设计模式和实现细节的重要途径。下面将对jbpm4的核心知识点进行详细阐述...

    jbpm4jbpm5

    总的来说,这个主题资料包提供了jbpm4和jbpm5的基础知识、实战经验和用户操作指导,对于想要学习或深化jbpm流程管理框架理解的开发者非常有价值。通过学习这些文档,开发者可以掌握jbpm的核心概念,熟练地设计和部署...

    JBPM4 常用表结构及其说明

    **JBPM4_ID_MEMBERSHIP** — 用户角色表 - **作用**: 记录用户与角色的关系。 - **主要内容**: 用户ID、角色ID等。 - **特点**: 有助于实现基于角色的访问控制(RBAC)。 ##### 18. **JBPM4_ID_USER** — 用户表 - *...

    JBPM4 开发文档 实例 流程

    - **JBPM4_ID_MEMBERSHIP**:用户与角色关联表。 - **JBPM4_ID_USER**:用户表。 - **JBPM4_JOB**:定时任务表。 - **JBPM4_LOB**:存储大对象数据。 - **JBPM4_PARTICIPATION**:参与者表。 - **JBPM4_SWIMLANE**:...

    JBPM4 每张表对应的含义

    `JBPM4_TASK`表用于管理任务。每个任务都关联着一个或多个活动,并且可以包含分配给特定用户或角色的任务。这些任务可能是人工任务,也可能是自动化任务的一部分。 #### 8. `JBPM4_PARTICIPATION` 此表存储了参与...

    jbpm4里的processDefinition、processInstance和Task的使用方法

    在jbpm4中,processDefinition、processInstance和Task是三个非常关键的概念,它们构成了流程管理的基础。 1. **ProcessDefinition**: ProcessDefinition是流程的蓝图,它定义了一个流程的结构和行为。它包含了...

    JBPM4的17张表说明.docx

    JBPM4_TASK 表存放需要人来完成的 Activities,需要人来参与完成的 Activity 被称为 Task。这张表记录了流程中的任务信息,包括任务的状态和分配情况。 JBPM4_PARTICIPATION JBPM4_PARTICIPATION 表存放 ...

    jBPM4用户指南入门教程

    **jBPM4用户指南入门教程** jBPM4是一个基于Java的企业级工作流管理系统,它为业务流程管理(BPM)提供了全面的解决方案。本教程将引导您逐步了解如何安装配置、使用流程设计器、部署业务归档以及利用服务和jpdl...

    jBPM4工作流应用开发指南.pdf

    - **胡奇:** 虽然对于胡奇的具体身份未给出详细信息,但可以推测胡奇应是一位有丰富经验的jBPM4用户或开发者,他编写的工作流应用开发指南获得了高度评价。 - **十分赞:** 这个评论可能来源于阅读过该指南的其他...

    jbpm4案例源码

    开发者可以通过查看和运行这些源代码,学习如何创建用户交互界面、与jbpm4服务交互以及如何实现流程的生命周期管理。 jbpm4还支持扩展和定制,例如,你可以通过编写自定义的工作流监听器、任务监听器和事件处理器来...

    jbpm jbpm3 jbpm4 用户和开发指南+教程+最佳实践全套

    "jBPM4.0.pdf"很可能是jbpm4的官方用户手册,详细阐述了新版本的改进、特性以及如何迁移从旧版本到新版本。这会帮助用户和开发者理解jbpm4的新特性和最佳实践。 "jBPM Developers Guide.txt"和"jBPM User Guide.txt...

    一个简单的Jbpm4项目源码

    1. **流程定义(Process Definition)**: 在JBPM4中,业务流程以BPMN2(Business Process Model and Notation 2.0)的XML文件形式进行定义,包含了流程图中的各个节点和连接线,如任务(Task)、事件(Event)、网关...

    jbpm4 完整的请假流程

    jbpm4是一个基于Java的企业级工作流管理系统,用于设计、执行和管理业务流程。这个“jbpm4 完整的请假流程”是一个示例项目,旨在帮助初学者理解和实践jbpm4在处理业务流程,尤其是请假申请流程中的应用。在这个项目...

    jBPM4工作流示例jbpmDemo

    **jbPM4工作流示例jbpmDemo**是一款基于jBPM4的工作流管理系统实例,旨在帮助用户深入了解和掌握jBPM4工作流引擎的使用方法。jBPM4是一款强大的开源工作流管理系统,它提供了流程建模、执行以及监控等功能,广泛应用...

    jbpm4基本jar包

    3. **任务管理**:jbpm4提供任务服务,允许用户领取、完成任务,以及对任务进行查询和管理,支持自定义任务表单和工作流审批规则。 4. **规则引擎**:jbpm4集成了Red Hat的JBoss Drools规则引擎,使得流程决策可以...

    jBPM4完整例子

    **jBPM4完整例子详解** jBPM4是一个企业级的工作流管理系统,它提供了强大的业务流程管理和工作流实现能力。这个"jBPM4完整例子"是一个基于SSH(Struts2、Spring、Hibernate)框架集成jBPM4.4的请假流程应用,非常...

    jbpm4web-JBPM4的一个web版本的Demo

    jbpm4web提供了一个用户友好的任务列表,让用户能够查看并处理待办任务。参与者可以完成任务、分配任务给其他人,或者对任务进行评论和附件上传等操作。 4. **流程控制**: 在jbpm4web中,用户还可以进行流程控制...

    jBPM 4使用手记

    **jBPM 4 使用手记** jBPM(Java Business Process Management)是一个开源的工作流管理系统,它提供了全面的业务流程管理和工作流解决方案。在jBPM 4这个版本中,开发者可以利用其强大的功能来设计、执行和管理...

    JBPM工作原理及表结构详解

    - **JBPM4_PARTICIPATION**:记录参与者的角色和关联的执行实例。 - **JBPM4_PROPERTY**:系统配置和定制属性。 - **JBPM4_SWIMLANE**:泳道表,用于定义流程图中的责任划分。 - **JBPM4_TASK**:任务表,记录...

Global site tag (gtag.js) - Google Analytics