已经完成的流程,在任务处理过程中存储的所有变量都保存在了act_hi_varinst这个表里,可以通过org.activiti.engine.HistoryService中的createHistoricVariableInstanceQuery()获取。
以下为我工作中实现的方法,将全部变量取出放到Map中:
public Map<String, Object> getHistoricVariables (String processInstanceId) {
Map<String, Object> varMap = new HashMap<>();
List<HistoricVariableInstance> historicVars = historyService.createHistoricVariableInstanceQuery().processInstanceId(processInstanceId).list();
historicVars.forEach(var -> varMap.put(var.getVariableName(), var.getValue()));
return varMap;
}