`

动态 jbpm

阅读更多
根据角色分配任务
  如何得到角色,如何利用 流程定义文件动态传入角色的名称
  如何在assignmenthandler中调用spring管理的业务逻辑对象
<task-node name="系统管理员审批">
   <task name="系统管理员审批">
      <assignment class="com.bjsxt.oa.manager.handler.RoleAssignmentHandler01">
   <roleName>系统管理员</roleName> ---------注入到handler的成员变量中去,由jbpm注入
        </assignment>
   </task>
   <transition name="结束流程" to="end1"></transition>
</task-node>



public class RoleAssignmentHandler01 implements AssignmentHandler {

/**
* 此值由JBPM负责注入,不用set方法
*/
private String roleName;=================

/**
* 此值由Spring负责注入
*/
private static UserManager userManager;=================

public void assign(Assignable assignable, ExecutionContext context) throws Exception {
//assignable 是TaskInstance的父类

if(roleName == null){
throw new SystemException("roleName变量不允许为空!");//如果在流程定义文件中没有定义roleName,抛出异常,无法指定由哪个角色来负责
}

List usernames = userManager.searchUsersOfRole(roleName);//查找指定角色的所有用户,可以交给spring管理的业务类来处理
String[] pooledActors = (String[])usernames.toArray(new String[usernames.size()]);
assignable.setPooledActors(pooledActors);//设置任务实例的组,只要在该组中的成员都可以查看处理,一个人处理了就可以往下提交
}

public void setUserManager(UserManager userManager) {
RoleAssignmentHandler01.userManager = userManager;
}

}





分享到:
评论

相关推荐

    jbpm教程、jbpm动态设置参与者

    jbpm教程、jbpm动态设置参与者、jbpm实例下载

    jbpm4.4 动态设置参与人数

    ### jbpm4.4 动态设置参与人数 在企业级应用中,工作流管理是极为重要的组成部分之一。JBPM(JBoss Business Process Management)作为一款开源的工作流引擎,广泛应用于各种业务流程管理场景中。特别是在版本4.4中...

    jBPM3.2.rar_JBPM3.2_jbpm_jbpm 3.2_jbpm3_jbpm3.2教程

    2. **动态流程**:jbPM允许在运行时修改流程,增强了流程的灵活性和适应性。 3. **事件处理**:jbPM支持各种事件,如定时器事件、信号事件,可以实现复杂的流程控制逻辑。 4. **服务整合**:jbPM可以通过服务调用...

    jbpm-3.1.2.zip_jbpm_jbpm 3.1.2_jbpm-3.1.2.rar_jbpm3.1.2_工作流

    2. **规则集成**:jBpm 集成了规则引擎,如 Drools,使业务流程能够根据预定义的规则进行动态决策。 3. **事件处理**:支持各种事件处理,如定时器事件、信号事件等,增强了流程的灵活性。 4. **持久化**:通过 ...

    jbpm7示例(jbpm-7.3.0.Final-examples)

    jBPM支持自适应和动态过程,需要灵活性来模拟复杂的现实生活中的情况,这些情况不能用刚性过程轻松描述。我们通过允许他们控制进程的哪些部分来执行,动态地偏离进程等,使控制回到终端用户。 jBPM也不仅仅是一个...

    jbpm学习资料,jbpm教程

    10. **规则引擎**:jbpm集成了Drools规则引擎,使得流程可以根据预定义的业务规则动态变化,增强了流程的灵活性和智能化。 通过jBPM-jPDL学习笔记,你可以系统地学习如何使用jPDL设计和实施业务流程,掌握jbpm的...

    传智播客jbpm教程

    【JBPM_(2)_Advance.ppt】则深入到jbpm的高级特性,如动态流程修改、流程版本管理、事件处理和异常管理。你将学习如何在运行时调整流程,以适应变化的业务需求。同时,这一部分还将探讨jbpm与Spring框架的集成,让你...

    jbpm开发入门指南

    - **任务分配**:jbpm支持根据预设规则或动态分配任务给指定用户或组。 - **任务管理**:用户可以通过jbpm提供的web界面或API查看、接受、完成任务。 - **流程监控**:提供实时的流程运行情况监控,如实例数量、...

    jBPM4工作流示例jbpmDemo

    jBPM4还集成了业务规则管理系统,如Drools,使得流程决策可以动态调整,符合业务需求的灵活性。 在**jbpmDemo**中,**Canvas动画**是一个重要的特性。Canvas是一种HTML5的画布元素,允许开发者在浏览器端动态绘制...

    jbpm的jar包(不含jbpm.jar)

    Drools作为规则引擎,可以动态应用规则到流程中,根据业务逻辑改变流程的行为。 4. **持久化**:jbpm-persistence.jar处理流程实例和相关数据的持久化,通常与JPA(Java Persistence API)或Hibernate等ORM框架集成...

    JBPM教学课件PPT

    3. 决策服务:通过与Drools(一个规则引擎)集成,JBPM可以实现基于规则的决策节点,动态调整流程路径。 四、流程监控 1. 流程实例监控:JBPM提供了一个Web管理界面,可以实时查看流程实例的状态,包括运行中的实例...

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

    它采用了一种基于Java的流程定义语言(jPDL),以及适合复杂和动态业务流程的图形化流程编辑器。 - **开发指南:** 该指南是为开发者提供的一份实用手册,涵盖了从安装配置、环境搭建、流程设计、编码实践到调试...

    jbpm-4.4.zip

    这样,流程可以根据特定条件动态调整其行为。 5. **事件处理**:jbpm 4.4引入了对事件处理的支持,如信号事件和时间事件,这允许流程在特定条件下或在指定时间触发某些动作。 6. **任务服务**:jbpm提供了任务服务...

    jbpm4案例源码

    流程执行服务则负责运行这些流程,根据业务规则和事件进行动态调度。任务管理允许用户领取、完成任务,并提供会签功能,即多个用户可以参与到同一任务的处理中,这对于企业中的协作至关重要。 在"jbpm4web"这个...

    JBPM设计器,纯JS

    JavaScript库如D3.js或Fabric.js可以用于在canvas或SVG元素上动态绘制和操作流程图。 4. **JSON数据序列化与反序列化**:流程定义通常以JSON格式存储,这是因为JSON易于解析,且兼容性好。JavaScript内置的JSON对象...

    jbpm实战讲解.pdf

    JBPM不仅支持传统的工作流模式,还引入了更现代的流程设计概念,如事件驱动架构和动态流程调整,使其成为现代企业应用中的关键组件。 #### 二、JBPM的构建与部署 **1. Ant构建与数据库环境配置** - **Ant简介**...

    JBPM工作流引擎

    2. **流程执行**:JBPM能够动态执行流程实例,处理流程中的任务分配、并发控制、事件处理等。 3. **持久化管理**:JBPM使用Hibernate作为默认的ORM框架,确保流程实例和相关数据在数据库中的持久化。 4. **规则...

    jbpm4.4-demo

    同时,你还会接触到如何利用jbpm的工作流引擎进行流程的动态改变和扩展,以及如何结合其他技术如Maven、JPA、Hibernate等构建完整的业务流程系统。 总之,【jbpm4.4-demo】是一个宝贵的资源,对于想要学习和掌握...

    jbpm详细实例教程

    首先,要开始使用JBPM,你需要创建一个动态的Web项目。在项目结构中,你需要在`lib`目录下添加必要的JAR包。这些包包括jbpm的核心库`jbpm.jar`以及JBPM4_HOME/lib下的所有依赖,如`jstl.jar`和`standard.jar`,这些...

    jbpm4.4下载地址

    4. **事件驱动架构**:jBPM 4.4采用了事件驱动的架构,这意味着流程实例可以根据预定义的事件自动触发,这极大地增强了系统的响应能力和动态调整能力。 5. **数据持久化**:jBPM 4.4支持多种数据库,如MySQL、...

Global site tag (gtag.js) - Google Analytics