`
hongsoft
  • 浏览: 299938 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

(4)jBPM websale代码学习: task.jsp(jBPM的两种分支策略)

阅读更多

对于分支,jBPM有两种主要的实现方法:decision和多transition。

1)decision用来实现自动的分支判断

   "  <decision name='hongsoft decision'>" +
    "    <transition to='learning jBPM'/>" +
    "    <transition name='imporant' to='forget about hongsoft'>" +
    "      <condition>#{hongsoft years old > 80}</condition>" +
    "    </transition>" +
    "    <transition name='lea' to='learging jBPM too'>" +
    "      <condition>#{hongsoft years old > 18}</condition>" +
    "    </transition>" +
    "  </decision>"

对于这样的节点,流程执行是不会停止的;而会自动判断应该转向到哪个转移,并自动执行下去。

2)多transition用来实现人工的分支判断

我们看看task.jsp的如下片断:

<c:choose>
    <c:when test="${!empty taskBean.availableTransitions}">
      Task Actions:
      <c:forEach var="availableTransition" items="${taskBean.availableTransitions}">
        <c:set var="availableTransition" scope="request" value="${availableTransition}"/> 
        <h:commandButton id="transitionButton" action="#{taskBean.saveAndClose}" value="#{availableTransition.name}"/>
      </c:forEach>
    </c:when>
    <c:otherwise>
      <h:commandButton id="transitionButton" action="#{taskBean.saveAndClose}" value="Save and Close Task"/>
    </c:otherwise>
  </c:choose>

首先判断活动是否有多个transitions,如果有,那么列出每个transition,由actor手工点击驱动流程的运转;

如果没有,那么只有一个transition,可以直接完成该任务。

对应的流程定义如下:

<task-node name="evaluate web order">
    <task swimlane="salesman">      
    </task>
    <transition name="ok" to="salefork" />
    <transition name="more info needed" to="fix web order data" />
  </task-node>

也就是直接在NODE中配置2个或者多个transition,就可以实现分支;这个也能够实现流程的回退功能。

分享到:
评论

相关推荐

    jbpm jbpm4.3.jar

    jbpm jbpm4.3.jar DDDDDDDD

    jbpm_websale.rar_JSF_java JBPM_jbpm_jbpm websale_websale jb

    1. **流程模型**:JBPM工作流定义文件(.bpmn或.jbpm),描述了网上销售的各个步骤,如用户下单、订单审批、支付处理、库存检查等。 2. **实体类**:用于表示业务对象,例如订单、商品、用户等。这些实体类通常与...

    JBPM4.4所需要的包.rar

    3. **jbpm.jar**: 这是JBPM的主要库文件,包含了流程引擎、工作流服务、持久化等核心功能。它提供了对流程定义、实例管理、任务分配、事件处理等功能的支持,使得开发者可以轻松地集成业务流程到Java应用中。 4. **...

    JBPM采购申请系统——06_JBPM版本控制及Token对象.7z

    JBPM采购申请系统——06_JBPM版本控制及Token对象.7z JBPM采购申请系统——06_JBPM版本控制及Token对象.7z JBPM采购申请系统——06_JBPM版本控制及Token对象.7z JBPM采购申请系统——06_JBPM版本控制及Token对象.7z ...

    jbpm-gpd-site 4.4.zip

    jbpm-gpd-site 4.4.zip 是一个与jbpm(Java Business Process Management)相关的压缩文件,它包含的是jbpm-eclipse插件的特定版本,适用于jbpm 4.4框架。jbpm是一个开源的工作流管理系统,用于设计、执行和管理业务...

    JBPM采购申请系统——21_JBPM4.0与JBPM3.0差异(一).7z

    JBPM采购申请系统——21_JBPM4.0与JBPM3.0差异(一).7z JBPM采购申请系统——21_JBPM4.0与JBPM3.0差异(一).7z JBPM采购申请系统——21_JBPM4.0与JBPM3.0差异(一).7z JBPM采购申请系统——21_JBPM4.0与JBPM3.0差异(一)...

    JBPM采购申请系统——22_JBPM4.0与JBPM3.0差异(二).7z

    JBPM采购申请系统——22_JBPM4.0与JBPM3.0差异(二).7z JBPM采购申请系统——22_JBPM4.0与JBPM3.0差异(二).7z JBPM采购申请系统——22_JBPM4.0与JBPM3.0差异(二).7z JBPM采购申请系统——22_JBPM4.0与JBPM3.0差异(二)...

    JBPM采购申请系统——03_JBPM配置文件与jbpmConfiguration对象.7z

    JBPM采购申请系统——03_JBPM配置文件与jbpmConfiguration对象.7z JBPM采购申请系统——03_JBPM配置文件与jbpmConfiguration对象.7z JBPM采购申请系统——03_JBPM配置文件与jbpmConfiguration对象.7z JBPM采购申请...

    family168-jBPM 4视频教程的代码.rar

    1. **流程定义**:jbPM使用BPMN 2.0(Business Process Model and Notation)标准进行流程定义,这是一种图形化的建模语言,能够清晰地展示业务流程的各个步骤和决策点。 2. **流程部署**:jbPM 4使用kie-workbench...

    JBPM数据库表创建\jbpm.jpdl.oracle.sql

    JBPM数据库表创建\jbpm.jpdl.oracle.sqlJBPM数据库表创建\jbpm.jpdl.oracle.sqlJBPM数据库表创建\jbpm.jpdl.oracle.sqlJBPM数据库表创建\jbpm.jpdl.oracle.sqlJBPM数据库表创建\jbpm.jpdl.oracle.sql

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

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

    chen-jbpm_websale.zip_jbmp_jbmp java_jbpm_jbpm_websale_网上销售系统

    1. **JBPM工作流引擎的使用**:JBPM提供了图形化的流程设计工具,以及对应的API,用于创建、运行和管理流程实例。 2. **网上销售系统的架构**:如何设计和实现一个完整的网上销售流程,包括用户下单、支付、库存管理...

    jBPM4.4工作流开发指南.docx

    jBPM4.4是一种流行的工作流引擎,它提供了一个强大且灵活的工作流管理系统。本指南将详细介绍jBPM4.4的安装、部署、使用、开发和原理等方面的知识点。 一、开发环境搭建 要开发jBPM4.4工作流,需要安装以下软件: ...

    JBPM工作流程API和Jar.zip

    JBPM提供了流程定义语言BPMN 2.0(Business Process Modeling Notation),这是一种图形化的方式来描述业务流程。通过BPMN,开发者可以清晰地定义流程中的各个活动、决策点、并行分支等,并且这些流程定义可以被JBPM...

    eclipse配置jBPM(jbpm-test-6.1.0.Final.jar)

    【标题】"eclipse配置jBPM(jbpm-test-6.1.0.Final.jar)"涉及的是在Eclipse集成开发环境中配置jBPM(Java Business Process Management)框架的实践教程。jBPM是一个开源的工作流和业务流程管理平台,它允许开发者...

    jbpm4.3-src.zip

    4. jbpm.task.hbm.xml:任务管理是jbpm的核心组件之一,这个文件定义了任务实体的数据库映射,包括任务状态、责任人、参与者等信息,这对于实现工作分配和协作功能至关重要。 5. jbpm.variable.types.xml:jbpm支持...

    jbpm4leave.zip_jbpm4leave_jbpm4leave.zip

    4. **配置文件**(如jbpm.cfg.xml):配置jBPM引擎的设置,如数据源、事务管理等。 5. **部署单元**(.ear或.war文件):将所有组件打包成可部署在应用服务器上的应用。 要运行这个实例,你需要: 1. 安装并配置一...

    JBPM的文档说明详细

    `JBoss jBPM BPEL Extension`:JBPM的BPEL扩展包。 - **推荐**:选择下载`JBoss jBPM Starters Kit`。 2. **解压安装** - **步骤**: 1. 将`JBoss jBPM Starters Kit`解压到指定位置,例如`D:\jbpm-starters-...

    JBPM4 java源代码分包详解JBPM4

    9. **org.jbpm.pvm.internal.hibernate**: 与Hibernate ORM的交互类,处理类型转换、命名策略和主要的数据库会话`DbSessionImpl`,负责所有与数据库相关的操作。 10. **org.jbpm.pvm.internal.history**: 提供历史...

Global site tag (gtag.js) - Google Analytics