3
camunda 엔진이 완료된 모든 프로세스 인스턴스를 쿼리하는 API를 제공합니까?프로세스 정의의 완성 된 인스턴스를 쿼리하는 방법은 무엇입니까?
camunda 엔진이 완료된 모든 프로세스 인스턴스를 쿼리하는 API를 제공합니까?프로세스 정의의 완성 된 인스턴스를 쿼리하는 방법은 무엇입니까?
다음과 같은 코드를 사용하여 프로세스의 모든 완성 된 인스턴스를 얻을 수 있습니다 :
package org.camunda.bpm;
import org.camunda.bpm.engine.HistoryService;
import org.camunda.bpm.engine.ProcessEngine;
import org.camunda.bpm.engine.RepositoryService;
import org.camunda.bpm.engine.history.HistoricProcessInstance;
import org.camunda.bpm.engine.repository.ProcessDefinition;
import java.util.List;
public class AllFinishedProcessInstances {
public List<HistoricProcessInstance> getAllFinishedProcessInstances(String processDefinitionName) {
ProcessEngine processEngine = BpmPlatform.getDefaultProcessEngine();
HistoryService historyService = processEngine.getHistoryService();;
RepositoryService repositoryService = processEngine.getRepositoryService();
ProcessDefinition myProcessDefinition =
repositoryService.createProcessDefinitionQuery()
.processDefinitionName(processDefinitionName)
.latestVersion() // we are only interested in the latest version
.singleResult();
List<HistoricProcessInstance> processInstances =
historyService.createHistoricProcessInstanceQuery()
.processDefinitionId(myProcessDefinition.getId())
.finished() // we only want the finished process instances
.list();
return processInstances;
}
}
을