camunda - 使用 singleResult() 方法在 Camunda 中创建的任务为空
问题描述
我正在使用以下命令在 camunda 中创建一个 taskService,但是正在创建空任务。知道可能是什么原因吗?
Task task = taskService.createTaskQuery()
.processInstanceBusinessKey(businessKey).initializeFormKeys().singleResult()
任务评估为空。
businessKey
是提供的有效非空字符串。
解决方案
未创建任务实例/处于活动状态或 businessKey 不匹配。尝试限制较少的标准,看看你是否得到结果,例如:
List<Task> taskList = taskService.createTaskQuery().active().list()
然后将 businessKey 添加回来并检查它是否匹配。启动实例时是否正确提交了businessKey?
如果您只是刚刚启动流程实例并有权访问 ID,那么您还可以尝试使用流程实例 ID 作为过滤条件:
RuntimeService runtimeService = engine.getRuntimeService();
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("MyProcess");
TaskService taskService = engine.getTaskService();
List<Task> taskList = taskService.createTaskQuery()
.processInstanceId(processInstance.getId())
.list();
Task task = taskList.get(0);
推荐阅读
- javascript - JavaScript/JQuery/JSON 在属性上附加 for 循环的“i”
- laravel - 在 tinyMCE laravel 7 中找不到图标
- css - PostCSS 的嵌套语法用于 :hover 和 :focus
- php - 将数据从 PHP 传递到 HTML
- r - ggplot2::coord_cartesian 在方面
- javascript - 页面更改后 Redux 状态重置
- java - Firebase 数据库不会停止更新值
- javascript - CryptoJS AES 加密输出长度
- android - Android Studio 占用 C: 空间
- c++ - PSAPI.h 的 QueryWorkingSet 函数中使用的 PSAPI_WORKING_SET_INFORMATION 缓冲区的实际大小是多少