실행중인 프로세스에서 특정 실행을 얻으려고합니다. 필터링에 아무런 문제가 없음을 확인하기 위해 매우 간단한 쿼리를 사용했습니다. 모든 활성 실행 파일을 찾아야합니다. 정확히 1입니다.processInstance가 현재 실행 중일지라도 ExecutionQuery는 0을 반환합니다.
프로세스 인스턴스가 올바르게 시작되면 프로세스가 신호를 기다릴 때까지 2 개의 작업이 실행됩니다. 이것은 예상대로 작동합니다. 하지만 실행 목록이 비어있는 이유는 알 수 없습니다. Historical 인스턴스를 쿼리하면 (예상대로) 하나의 결과가 나타납니다.
HistoryService historyService = mProcessHandler.getProcessEngine().getHistoryService();
List<HistoricProcessInstance> allInstances = historyService.createHistoricProcessInstanceQuery().list();
어떤 질문에 잘못된 것이 있습니까?
업데이트 나는 실행이 경계 이벤트 신호를 기다리는 경우 (심지어 초 대기 후) 실행 목록이 비어 있음을 알아 냈다. 경계 이벤트가 제거되면 실행 목록은 1을 반환합니다.
이것은 내가 이미 수행 한 것입니다. 나는 약간의 코드를 정리했다. – KayJ
Petar는 거의 틀림없이 정확하다. 여기서 경쟁 조건이 발생한다. 실행이 즉시 시작되지 않습니다. –
그러나이 시점에서 역사적인 사례를 얻을 수있는 이유는 무엇입니까? 이것은 잘 작동합니다. 테스트를 위해 다른 프로세스를 사용하려고했는데 예상대로 시작된 인스턴스 목록을 가져옵니다. 아무 작업도 비동기로 설정되지 않습니다. 여전히 이러한 문제가 특정 프로세스에 나타나는 이유를 알아 내려고 노력 중입니다 ... – KayJ