问题前景
在使用Camunda7版本做流程审批时,需要获取已经部署的所有流程。结果出现了 Type definition error: [simple type, class org.camunda.bpm.engine.impl.core.model.Properties] 错误。
错误代码
public List<ProcessDefinition> getAllPrecess(QueryParam<Object> queryParam){
return repositoryService.createProcessDefinitionQuery().orderByDeploymentTime().desc().listPage(queryParam.getCurrent(), queryParam.getSize());
}
修改后的代码
public List<ProcessDefinitionDto> getAllPrecess(QueryParam<Object> queryParam){
List<ProcessDefinition> processDefinitions = repositoryService.createProcessDefinitionQuery().orderByDeploymentTime().desc().listPage(queryParam.getCurrent(), queryParam.getSize());
List<ProcessDefinitionDto> result=new ArrayList<>(processDefinitions.size());
for(ProcessDefinition definition:processDefinitions){
ProcessDefinitionDto processDefinitionDto = ProcessDefinitionDto.fromProcessDefinition(definition);
result.add(processDefinitionDto);
}
return result;
}