2016-08-07 1 views
0

현재 JBPM의 원격 클라이언트 API 구현에서 프로세스를 시작하면 JBPM은 프로세스 인스턴스 ID & 프로세스 상태가 실제로 활성 상태에있는 프로세스가 시작된 직후 응답을 보내지 만 원격 API를 만들려고합니다. 응답에서 프로세스 실행이 &을 초과 할 때까지 클라이언트 대기는 프로세스가 완료되었음을 나타내야합니다. 스레드 수면 메서드를 사용하지 않고 어떤 식 으로든 가능합니까?JBPM 6.x 원격 API가 프로세스 실행이 완료 될 때만 응답하는 방법은 무엇입니까?

답변

0

AFAIK 프로세스가 safe point에 도달하는 즉시 새 프로세스 인스턴스를 시작하기위한 원격 호출이 반환되며이 동작을 변경할 수있는 방법이 없습니다.

그러나 프로세스 실행이 완료되면 알림을받는 방법은 여러 가지가 있습니다. 제 생각에 가장 우아한 방법은신호 끝 이벤트를 프로세스 정의에 사용하고 external signalling을 사용하도록 구성하는 것입니다. 그런 다음 KIE.SIGNAL JMS 대기열에 등록하고 프로세스가 끝났음을 나타내는 특정 신호를 기다릴 수 있습니다. KIE.SIGNAL을 대기열 대신 주제로 만들어 프로세스에서 다른 외부 신호를 잃지 않도록하는 것이 좋습니다. 어쩌면 더 나은 해결책이 있을지 모르지만 이것은 지금 생각할 수있는 최선의 해결책입니다.

BTW, 어떤 원격 클라이언트 API를 말합니까? KIE Workbench 또는 KIE Server 중 하나입니까? 이전 버전을 사용하는 경우 프로세스를 실행하는 데 권장되는 방법이므로 KIE Server로 전환하는 것이 좋습니다. 곧 나오는 jBPM 7 (JBPM-5071 참조)의 KIE Workbench에는 jBPM 런타임이 없으므로 어쨌든 KIE Server로 전환해야합니다.

관련 문제