对于分支,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 DDDDDDDD
1. **流程模型**:JBPM工作流定义文件(.bpmn或.jbpm),描述了网上销售的各个步骤,如用户下单、订单审批、支付处理、库存检查等。 2. **实体类**:用于表示业务对象,例如订单、商品、用户等。这些实体类通常与...
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-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差异(一)...
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采购申请...
1. **流程定义**:jbPM使用BPMN 2.0(Business Process Model and Notation)标准进行流程定义,这是一种图形化的建模语言,能够清晰地展示业务流程的各个步骤和决策点。 2. **流程部署**:jbPM 4使用kie-workbench...
JBPM数据库表创建\jbpm.jpdl.oracle.sqlJBPM数据库表创建\jbpm.jpdl.oracle.sqlJBPM数据库表创建\jbpm.jpdl.oracle.sqlJBPM数据库表创建\jbpm.jpdl.oracle.sqlJBPM数据库表创建\jbpm.jpdl.oracle.sql
2. **规则集成**:jBpm 集成了规则引擎,如 Drools,使业务流程能够根据预定义的规则进行动态决策。 3. **事件处理**:支持各种事件处理,如定时器事件、信号事件等,增强了流程的灵活性。 4. **持久化**:通过 ...
1. **JBPM工作流引擎的使用**:JBPM提供了图形化的流程设计工具,以及对应的API,用于创建、运行和管理流程实例。 2. **网上销售系统的架构**:如何设计和实现一个完整的网上销售流程,包括用户下单、支付、库存管理...
jBPM4.4是一种流行的工作流引擎,它提供了一个强大且灵活的工作流管理系统。本指南将详细介绍jBPM4.4的安装、部署、使用、开发和原理等方面的知识点。 一、开发环境搭建 要开发jBPM4.4工作流,需要安装以下软件: ...
JBPM提供了流程定义语言BPMN 2.0(Business Process Modeling Notation),这是一种图形化的方式来描述业务流程。通过BPMN,开发者可以清晰地定义流程中的各个活动、决策点、并行分支等,并且这些流程定义可以被JBPM...
【标题】"eclipse配置jBPM(jbpm-test-6.1.0.Final.jar)"涉及的是在Eclipse集成开发环境中配置jBPM(Java Business Process Management)框架的实践教程。jBPM是一个开源的工作流和业务流程管理平台,它允许开发者...
4. jbpm.task.hbm.xml:任务管理是jbpm的核心组件之一,这个文件定义了任务实体的数据库映射,包括任务状态、责任人、参与者等信息,这对于实现工作分配和协作功能至关重要。 5. jbpm.variable.types.xml:jbpm支持...
4. **配置文件**(如jbpm.cfg.xml):配置jBPM引擎的设置,如数据源、事务管理等。 5. **部署单元**(.ear或.war文件):将所有组件打包成可部署在应用服务器上的应用。 要运行这个实例,你需要: 1. 安装并配置一...
`JBoss jBPM BPEL Extension`:JBPM的BPEL扩展包。 - **推荐**:选择下载`JBoss jBPM Starters Kit`。 2. **解压安装** - **步骤**: 1. 将`JBoss jBPM Starters Kit`解压到指定位置,例如`D:\jbpm-starters-...
9. **org.jbpm.pvm.internal.hibernate**: 与Hibernate ORM的交互类,处理类型转换、命名策略和主要的数据库会话`DbSessionImpl`,负责所有与数据库相关的操作。 10. **org.jbpm.pvm.internal.history**: 提供历史...