6
camunda 엔진이 특정 프로세스의 실행중인 모든 인스턴스를 쿼리하는 API를 제공합니까? 이 쿼리에도 일시 중지 된 인스턴스가 포함되어 있습니까?실행중인 프로세스 정의 인스턴스를 쿼리하는 방법은 무엇입니까?
camunda 엔진이 특정 프로세스의 실행중인 모든 인스턴스를 쿼리하는 API를 제공합니까? 이 쿼리에도 일시 중지 된 인스턴스가 포함되어 있습니까?실행중인 프로세스 정의 인스턴스를 쿼리하는 방법은 무엇입니까?
는 다음과 같은 코드를 사용하여 프로세스의 실행중인 모든 프로세스 인스턴스를 조회 할 수 있습니다
package org.camunda.bpm;
import org.camunda.bpm.engine.ProcessEngine;
import org.camunda.bpm.engine.RepositoryService;
import org.camunda.bpm.engine.RuntimeService;
import org.camunda.bpm.engine.repository.ProcessDefinition;
import org.camunda.bpm.engine.runtime.ProcessInstance;
import java.util.List;
public class AllRunningProcessInstances {
public List<ProcessInstance> getAllRunningProcessInstances(String processDefinitionName) {
// get process engine and services
ProcessEngine processEngine = BpmPlatform.getDefaultProcessEngine();
RuntimeService runtimeService = processEngine.getRuntimeService();
RepositoryService repositoryService = processEngine.getRepositoryService();
// query for latest process definition with given name
ProcessDefinition myProcessDefinition =
repositoryService.createProcessDefinitionQuery()
.processDefinitionName(processDefinitionName)
.latestVersion()
.singleResult();
// list all running/unsuspended instances of the process
List<ProcessInstance> processInstances =
runtimeService.createProcessInstanceQuery()
.processDefinitionId(myProcessDefinition.getId())
.active() // we only want the unsuspended process instances
.list();
return processInstances;
}
}
당신도 일시 중단 된 프로세스 인스턴스를 포함 할 경우, 단지 .active는() 라인을 삭제합니다.
쿼리에 소유자 createria를 추가하는 것은 가능합니다 .owner ("kermit"); 또는 다른 방법으로? – ismail