springboot-activiti-get进程变量

js5cn81o  于 2021-07-09  发布在  Java
关注(0)|答案(2)|浏览(386)

我有一段代码:

  1. List<ProcessInstance> instances =
  2. processEngine.getRuntimeService().createProcessInstanceQuery().processInstanceId(processInstanceId).list();
  3. instances.forEach(this::listProcessInstance);
  4. private void listProcessInstance (ProcessInstance processInstance) {
  5. log.info("<-------------- ProcessInstance ---------------> {} ", processInstance);
  6. log.info(String.valueOf(processInstance.getProcessVariables()));
  7. log.info("<-------------- ProcessInstance --------------->");
  8. }

其中processvariables为空,但在表上有以下信息:

  1. select * from ACT_RU_VARIABLE where PROC_INST_ID_ = 76759;
flmtquvp

flmtquvp1#

出于性能原因,默认查询不返回流程变量。必须显式地告诉查询包含以下变量:

  1. List<ProcessInstance> instances = processEngine.getRuntimeService().createProcessInstanceQuery().processInstanceId(processInstanceId).includeProcessVariables().list();
bvjxkvbb

bvjxkvbb2#

尝试以下代码段,

  1. ProcessInstanceQuery processInstanceQuery = runtimeService.createProcessInstanceQuery().processInstanceIds(processInstanceIds);
  2. List<ProcessInstance> processInstances = processInstanceQuery.list();
  3. for (ProcessInstance processInstance : processInstances) {
  4. log.info(processInstance.getId());
  5. log.info(processInstance.getProcessVariables());
  6. }

相关问题