JBPM4执行taskService.completeTask(taskId,map)或taskService.completeTask(taskId) 操作时,出现如下异常:
No unnamed transitions were found for the task 'XXXX'
——————————————————————————————————————————————
分析原因:(见:用户手册:taskservice)
如果一个任务拥有一个没用名称的外向转移:
- taskService.getOutcomes() 返回包含一个null值集合,。
- taskService.completeTask(taskId) 会使用这个外向转移。
- taskService.completeTask(taskId, null) 会使用这个外向转移。
- taskService.completeTask(taskId, "anyvalue") 会抛出一个异常。
如果一个任务拥有一个有名字的外向转移:
- gtaskService.getOutcomes() 返回包含这个转移名称的集合。
- taskService.completeTask(taskId) 会使用这个单独的外向转移。
- taskService.completeTask(taskId, null) 会抛出一个异常(因为这里没有无名称的转移)。
- taskService.completeTask(taskId, "anyvalue") 会抛出一个异常。
- taskService.completeTask(taskId, "myName") 会根据给定的名称使用转移。
如果一个任务拥有多个外向转移,其中一个转移没有名称,其他转移都有名称:
- taskService.getOutcomes() 返回包含一个null值和其他转移名称的集合。
- taskService.completeTask(taskId) 会使用没有名字的转移。
- taskService.completeTask(taskId, null) 会使用没有名字的转移。
- taskService.completeTask(taskId, "anyvalue") 会抛出异常。
- taskService.completeTask(taskId, "myName") 会使用名字为'myName'的转移。
如果一个任务拥有多个外向转移,每个转移都拥有唯一的名字:
- taskService.getOutcomes() 返回包含所有转移名称的集合。
- taskService.completeTask(taskId) 会抛出异常,因为这里没有无名称的转移。
- taskService.completeTask(taskId, null) 会抛出异常,因为这里没有无名称的转移。
- taskService.completeTask(taskId, "anyvalue") 会抛出异常。
- taskService.completeTask(taskId, "myName") 会使用名字为'myName'的转移。
————————————————————————————————————————
解决方案:
根据以上分析,可得到解决方案:
1、只拥有一个外向转移时(对应上文所述1、2情况):
Map map = new HashMap();
map.put("",……)//各种参数
taskService.setVariables(taskId,map);
taskService.completeTask(taskId);
3、拥有多个外向转移时(上文3、4种情况):
Map map = new HashMap();
map.put("",……)//各种参数
taskService.setVariables(taskId,map);
//如想转移至有名称的外向转移:
taskService.completeTask(taskId,"外向转移名称");
//如想转移至无名称的外向转移:
taskService.completeTask(taskId);
分享到:
相关推荐
JBPM4 之 State、Decision、Task 活动详解 JBPM4 是一种业务流程管理系统,用于自动化和管理复杂的业务流程。在 JBPM4 中,有三种基本活动:State、Decision 和 Task,这三种活动是构建复杂业务流程的基础。本文将...
### JBPM4 常用表结构及其说明 JBPM4是JBPM(Java Business Process Model)的一个版本,主要用于提供业务流程管理的功能。它通过一组数据库表来支持工作流的执行与跟踪。本文将详细介绍JBPM4中的常用表结构及其...
jBPM4作为该系列的一个版本,提供了一套完整的流程管理和执行框架,允许开发者构建灵活的工作流应用,以实现业务流程自动化。本指南由胡奇编写,旨在为开发者提供一个全面的参考,帮助他们快速学习和掌握使用jBPM4...
7 章 应用.....................................................156 7.1 创建工程.................................................156 7.2 配置jBPM................................................158 7.3 ...
jbpm4jbpm5是关于jbpm流程管理框架的专题,涵盖了jbpm4和jbpm5两个主要版本。jbpm是一个开源的工作流管理系统,用于帮助开发者实现业务流程自动化。以下是基于给定文件的信息,深入解析jbpm4和jbpm5的知识点: 1. *...
jbpm jbpm4.3.jar DDDDDDDD
jbpm-human-task-5.1.0.Final.jar jbpm5
4. **org.jbpm.pvm.internal.cfg**: 这里包含了配置文件的解析和流程引擎的初始化。`JbpmConfiguration`和`SpringConfiguration`实现了`org.jbpm.api.Configuration`接口,使得可以从配置文件中加载并创建`...
7 章 应用.....................................................156 7.1 创建工程.................................................156 7.2 配置jBPM................................................158 7.3 ...
这个"jbpm4案例源码"包含了jbpm4系统的核心组件和示例代码,帮助开发者深入理解jbpm4的工作原理和实践应用。《jBPM4工作流应用开发指南.pdf》这本书则进一步阐述了如何利用jbpm4来构建工作流应用。 jbpm4的核心功能...
jbpm-human-task-5.1.0.Final-sources.jar jbpm5 源码
### JBPM4 表结构详解 JBPM (JBoss Business Process Management) 是一款开源的工作流管理系统,被广泛应用于业务流程管理领域。JBPM4作为其一个版本,具有丰富的功能及特性,尤其在流程管理和任务分配方面表现突出...
4. **配置文件**(如jbpm.cfg.xml):配置jBPM引擎的设置,如数据源、事务管理等。 5. **部署单元**(.ear或.war文件):将所有组件打包成可部署在应用服务器上的应用。 要运行这个实例,你需要: 1. 安装并配置一...
jBPM4使用Business Process Execution Language for Java(BPEL)和Business Process Modeling Notation(BPMN)进行流程建模。BPEL是用于描述服务之间的协作流程的语言,而BPMN则是一种图形化的流程建模标准,使得...
**JBPM4 开发文档详解** JBPM4(Java Business Process Management 4)是一个轻量级的开源工作流管理系统,基于J2EE架构,旨在帮助开发者实现复杂的业务流程自动化。该项目于2004年10月18日发布2.0版本,并随后成为...
jBPM4-app-forth4 是一个基于jBPM4框架的应用程序实例,它提供了深入理解jBPM4工作流引擎及其应用开发的宝贵资源。jBPM4是一款开源的业务流程管理(Business Process Management)和工作流系统,主要用于设计、执行...
6. `org.jbpm.api.JbpmException: error: no start activity in process`: 这个异常表示在流程定义中找不到开始活动。这可能是由于jpdl文件的XML语法错误,例如在标签中错误地声明了命名空间。解决方法是检查并修正...
jBPM 4.4 API Packages org.jbpm.api the jBPM API, Start by creating a Configuration, build a ProcessEngine from that, and then you can find the ...org.jbpm.api.task interfaces related to the TaskService
JBPM4 的 17 张表说明 JBPM4 是一款流程管理系统,负责管理和执行业务流程。为了更好地理解 JBPM4,我们需要了解其核心组件之一的 17 张表的作用和关系。 JBPM4_DEPLOYMENT、JBPM4_DEPLOYPROP 和 JBPM4_LOB JBPM4...
JBPM4,全称为JBoss Business Process Management Suite,是一个基于Java的开源工作流管理系统,它提供了全面的业务流程管理功能,包括工作流引擎和基于Eclipse的图形化流程设计工具。该系统允许开发者和业务分析师...