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);
分享到:
相关推荐
jboss jbpm4最新开发包 采用了pvm框架
7 章 应用.....................................................156 7.1 创建工程.................................................156 7.2 配置jBPM................................................158 7.3 ...
jbpm jbpm4.3.jar DDDDDDDD
手动控制流程流转,是一个比较好的初学资料
jbpm-human-task-5.1.0.Final.jar jbpm5
jbpm4源码jbpm4源码jbpm4源码
jBPM4工作流应用开发指南 胡奇写的,十分赞!!
7 章 应用.....................................................156 7.1 创建工程.................................................156 7.2 配置jBPM................................................158 7.3 ...
5.17 表JBPM4_TASK 16 5.18 表JBPM4_VARIABLE 17 6、操作: 19 6.1 发布一个流程DEPLOY: 19 6.2 上传一个ZIP包:(包含PNG和JPDL.XML)后 19 6.3 开始一个流程STARTPROCESSINSTANCEBYKEY后 19 6.4 填写申请信息 19 ...
介绍jbpm4里的processDefinition、processInstance和Task的使用方法。 代码里的注释的编码方式为utf-8
jbpm-human-task-5.1.0.Final-sources.jar jbpm5 源码
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
jbpm应用开发指面(胡奇) jbpm4.3表结构和表字段说明 [jBPM开发指南].高杰.文字版 jBPM5_用户手册-中文版
JBPM4_PVM源代码分析.doc,概要分析pvm的所有类
JBPM数据库表创建\jbpm.jpdl.oracle.sqlJBPM数据库表创建\jbpm.jpdl.oracle.sqlJBPM数据库表创建\jbpm.jpdl.oracle.sqlJBPM数据库表创建\jbpm.jpdl.oracle.sqlJBPM数据库表创建\jbpm.jpdl.oracle.sql
java源代码分包详解JBPM4 java源代码分包详解JBPM4
jbpm4。4中表之间的关系,jbpm4 表关系
JBPM4运行时错误异常总结,本人在jbpm4学习中遇到过的最常见的异常,以后可能还会发布有关资源,如发现整理有误,请指教!
,jbpm4的源码,分支,会签等一些中国特色建立下载《jBPM4工作流应用开发指南.pdf》这本书
JBPM4的表结构说明,自己整理的DOC格式的文档。 包含了JBPM4所有表的表结构注释。 BPM4是一种基于Java语言的开源工作流/业务流程管理框架(Framework),它主要包括工作流引擎(WorkflowEngine)和基于Eclipse平台...