使用singleResult()方法在Camunda中创建的任务为null

时间:2020-08-04 12:55:20

标签: camunda camunda-modeler

我正在使用以下命令在camunda中创建taskService,但是正在创建空任务。知道是什么原因吗?

Task task = taskService.createTaskQuery()
            .processInstanceBusinessKey(businessKey).initializeFormKeys().singleResult()

任务评估为空。

businessKey是提供的有效非空字符串。

1 个答案:

答案 0 :(得分:0)

未创建任何任务实例/该任务实例处于活动状态,或者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);
相关问题