【问题标题】:SpringBoot - activiti - Get the active task ListSpringBoot - activiti - 获取活动任务列表
【发布时间】:2021-04-21 11:14:56
【问题描述】:
我想获得活动的任务列表,使用:
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"])
【问题讨论】:
标签:
java
json
spring-boot
alfresco
activiti
【解决方案1】:
您尝试调用服务并直接返回列表,而不是使用List<Map<String, Object>>。请参阅下面的代码 sn-p 可以帮助您,
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;