`
yushanyuan
  • 浏览: 5691 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JBPM中会签的实现

    博客分类:
  • JBPM
阅读更多

 

会签描述:多个人对同一环节进行审核,只要有一个不通过,则打回给提交人。

设计原理:在任务节点,根据会签人员个数生成任务实例,

 

流程图:

 

 

Processdefinition.xml

<?xml version="1.0" encoding="UTF-8"?>

 

<process-definition  xmlns=""  name="countersign">

    <start-state name="start-state">

       <transition to="user"></transition>

    </start-state>

    <task-node name="countersign" create-tasks="false" signal="first-wait">

       <task name="eachcounter"></task>

       <event type="node-enter">

           <action class="com.action.CountersignHandler"></action>

       </event>

       <transition to="join1" name="N">

           <action class="com.action.CounterDecisionHandler"></action>

       </transition>

       <transition to="join1" name="Y"></transition>

    </task-node>

    <task-node name="user">

       <task></task>

       <transition to="countersign" name="submit"></transition>

    </task-node>

    <join name="join1">

       <transition to="decision"></transition>

    </join>

    <decision name="decision" expression="#{decision}">

       <transition to="end" name="Y"></transition>

       <transition to="user" name="N"></transition>

    </decision>

    <end-state name="end"></end-state>

</process-definition>

 

 

CountersignHandler

 

package com.action;

 

import java.util.ArrayList;

import java.util.Collection;

import java.util.Iterator;

import java.util.List;

import org.jbpm.graph.def.ActionHandler;

import org.jbpm.graph.exe.ExecutionContext;

import org.jbpm.graph.exe.Token;

import org.jbpm.graph.node.TaskNode;

import org.jbpm.taskmgmt.def.Task;

import org.jbpm.taskmgmt.exe.TaskMgmtInstance;

 

public class CountersignHandler implements ActionHandler{

    /**

     *为每一位用户生成任务实例

     */

    @Override

    public void execute(ExecutionContext executionContext) throws Exception {

       // TODO Auto-generated method stub

      

      

       //phase 1: 生成用户,可以从数据库读,也可以从流程变量中读。

       //String []actors={"a","b","c"};

       Collection actors=new ArrayList();

       actors.add("a");

       actors.add("b");

       actors.add("c");

      

       //设定流程变量,

      

       executionContext.getContextInstance().setVariable("decision", "Y");

      

       //phase 2:根据用户的个数,创建子token

       Token token=executionContext.getToken();

      

       List forkedTokens = new ArrayList();//token

       Iterator actorIter = actors.iterator();

       while(actorIter.hasNext()){

  • 大小: 19.5 KB
分享到:
评论
1 楼 anthon_lx 2009-08-04  
为什么 写一半呢?

相关推荐

    jbpm4.3 会签的实现

    【jbpm4.3 会签的实现】 在企业级工作流管理系统中,会签...在实际项目中,结合测试(如压缩包中的"test"目录中的测试用例)和持续学习(如"sofocus"可能包含的相关文档或讨论),将进一步加深对jbpm会签机制的理解。

    JBPM4.4会签实例

    通过学习"CountersignDemo"这个实例,你可以深入了解JBPM4.4的会签实现,包括如何设计流程、创建自定义活动、编写工具类以及如何在实际应用中部署和使用。这将有助于提升你对业务流程管理的理解,使你能更好地为企业...

    jBPM4.4 会签,用custom实现(带加签、减签功能)

    在本篇中,我们将深入探讨如何在jBPM4.4中实现自定义会签功能,同时包含加签和减签功能。 首先,我们需要了解什么是会签。会签是指在流程中涉及多个审批人的场景,每个审批人都需要对流程中的某个任务进行操作,...

    jBPM4.4 会签(带加签、减签功能)

    本文将深入探讨如何在jbPM中实现会签以及加签、减签功能,并提供相关实践指导。 1. **会签概念与实现** 会签是指在流程中设置一个环节,需要多个参与者依次或同时进行审批。jbPM通过定义工作流模型,利用task节点...

    jbpm4.4 会签 测试( fork & join)

    在jbpm中,"fork & join"机制是实现并行处理和流程控制的关键概念,尤其在处理会签(多个审批人同时参与审批)等场景时显得尤为重要。 "fork"在jbpm中指的是流程分支,当流程到达一个fork节点时,流程会分裂为多个...

    JBPM4.3 Spring会签 实例

    在这个实例中,我们将探讨如何在JBPM4.3中实现基于Spring的会签功能。会签是一种常见的业务流程操作,需要多个参与者依次或同时对同一文档或任务进行审批,所有参与者的签名都得到确认后,流程才能继续进行。这通常...

    jbpm会签.zip

    在jbpm中实现会签,主要涉及到以下几个关键知识点: 1. **工作流模型**:jbpm使用BPMN(Business Process Model and Notation)标准来定义流程模型。BPMN提供了一套图形化的符号,用于描绘业务流程,其中包括并行...

    jbpm工作流(会签,串签)

    在本教程中,我们将深入探讨jbpm中的会签和串签功能,以及如何进行流程部署、启动流程、任务提交、查询已办和待办任务。 首先,让我们了解流程部署的概念。在jbpm中,流程部署是将一个流程定义文件(通常是.bpmn或....

    jbpm-3_2_2-Api

    jbpm-3_2_2-Api jbpm 著名工作流引擎

    jbpm在OA系统中的应用

    此外,会议管理也是jBPM在OA系统中应用的一个典型场景,通过jBPM可以实现会议的预约、通知、记录等功能,大大提高了会议组织的效率和质量。 #### 结论 综上所述,jBPM作为一种先进的工作流引擎,为办公自动化系统...

    jbpm4案例源码

    任务管理允许用户领取、完成任务,并提供会签功能,即多个用户可以参与到同一任务的处理中,这对于企业中的协作至关重要。 在"jbpm4web"这个压缩包中,我们可以期待找到一个基于jbpm4构建的Web应用程序实例。这个...

    工作流开发会签两套方案(Java源代码实现)

    在具体实现中,可能涉及的技术点包括: - **事务管理**:确保会签过程的原子性,防止数据不一致。 - **异常处理**:捕获和处理可能出现的异常,如参与者未响应、网络问题等。 - **权限控制**:根据用户角色和权限...

    jbpm4.4流程图

    在这个“jbpm4.4流程图”中,我们关注的是如何通过图形化的方式来理解和操作这些流程。 流程图在jbpm中扮演着至关重要的角色,它们提供了一个直观的方式来描绘业务流程的各个步骤和决策点。`subjbpm.png`可能是一个...

    jBPM4入门基础环境配置

    此外,jBPM4还支持与规则引擎(如Drools)的无缝集成,实现了业务规则与流程的统一管理。 ### 2. 安装与环境配置 要开始使用jBPM4,首先需要安装以下基础环境: - **Java Development Kit (JDK)**:确保你的系统上...

    JBPM与Activity分析.doc

    尽管JBPM和Activiti在全球范围内拥有较高的市场占有率,但在国内的实际应用中却面临一些挑战: 1. **API复杂性**:复杂的API使得开发者上手难度较大,尤其是在面对中国特有的业务场景时。 2. **本地化支持**:由于...

    jbpm工作流程的说明文档

    【jbpm工作流程详解】 jbpm,全称为Java Business Process ...尽管在应对某些特定的中国业务场景时可能需要额外的定制,但通过对其特性和机制的深入理解,开发者可以有效利用jbpm实现符合中国国情的流程自动化。

    jbpm4.4 简单请假流程

    - **部署单元(Deployment Unit)**:包含流程定义、工作流服务实现等资源,通过jbpm服务部署到运行环境中。 - **API调用**:应用程序通过jbpm提供的Java API或REST接口与流程引擎交互,启动、查询和控制流程实例...

Global site tag (gtag.js) - Google Analytics