java - SpringBoot - activiti - 获取活动任务列表
问题描述
我想获得活动的 Tasks List ,使用:
return processEngine.getTaskService().createTaskQuery().active().list();
但我有这个错误:
10:05:37.238 [http-nio-1061-exec-18] ERROR e.e.e.o.k.f.c.s.ControllerAdvice - Could not write JSON: lazy loading outside command context; nested exception is com.fasterxml.jackson.databind.JsonMappingException: lazy loading outside command context (through reference chain: java.util.ArrayList[0]->org.activiti.engine.impl.persistence.entity.TaskEntityImpl["variableInstances"])
解决方案
您尝试调用服务并直接返回列表,而不是使用List<Map<String, Object>>
. 请参阅以下可以帮助您的代码片段,
public List<Map<String, Object>> getTaskList() {
List<Tasks> taskList = gprocessEngine.getTaskService().createTaskQuery().active().list();
List<Map<String, Object>> customTaskList = new ArrayList<>();
for (Task task : taskList) {
Map<String, Object> map = new LinkedHashMap<>();
map.put("taskId", task.getId());
map.put("taskDefinitionKey", task.getTaskDefinitionKey());
map.put("taskName", task.getName());
customTaskList.add(map);
}
return customTaskList;
推荐阅读
- node.js - 猫鼬模型更新()与保存()
- git - git checkout - 和 git checkout master 的区别
- css - 使用流体行和列的闪亮应用程序存在溢出问题
- git - 如何防止在 git 存储库中修改文件
- javascript - React 子组件在渲染前检测是否为空/null
- php - 显示数据库中的数组
- function - 应用程序设置中的 Azure Functions v2 连接字符串
- angular - Angular7 AuthGuard Firebase 声明
- android - CollapsingToolbarLayout 仅在顶部时展开
- reporting-services - 在 Team Foundation Server 2018 Express 中构建和部署 SSRS 报告