jBPM5-워크 플로 그리기 및 유효성 검사
워크 플로를 그리려면 위 기사에서 설명한대로 팔레트에서 사용 가능한 구성 요소를 사용할 수 있습니다. 모든 워크 플로에는 시작이 하나이지만 여러 끝이있을 수 있습니다.
스크린 샷을 사용하여 워크 플로를 만드는 방법을 설명하겠습니다.
여기, 나는 공백을 열었습니다 rf 또는 bpmn 파일

이벤트를 추가하려면 구성 요소 팔레트에서 특정 이벤트를 선택하고 오른쪽으로 끌어다 놓습니다. 예를 들어 시작 이벤트를 선택하고 오른쪽과 분기 게이트웨이로 드래그했습니다.

이제 두 구성 요소를 연결해야합니다. 시퀀스 흐름을 선택하고 두 구성 요소를 연결합니다.


이렇게하면 컴포넌트를 편집기로 드래그하고 시퀀스 흐름을 사용하여 다른 컴포넌트를 결합 할 수 있습니다. 일부 구성 요소가 하나의 들어오는 연결과 하나의 나가는 연결 만 포함하고 의미있는 흐름을 만들기 위해 그에 따라 시퀀스 흐름을 설정해야합니다.
워크 플로를 그리는 동안 일부 속성도 설정해야합니다. 여기에 설정할 모든 속성을 게시합니다. 방금 흐름을 만들었지 만 만든 워크 플로에서 속성을 설정하지 않았으므로 처음에 흐름을 보는 것은 그다지 의미가 없습니다.

위에서 볼 수 있듯이 설명이없는 빈 워크 플로이며 생성 된 워크 플로에서 아무것도 알아낼 수 없습니다.
그러나 더 자세히 설명하기 위해 시작 구성 요소와 분기 게이트웨이가 있고 분기 게이트웨이의 조건에 따라 스크립트 작업에서 한 가지 방법을 선택하고 일부 코드를 실행 한 다음 워크 플로를 종료합니다. 따라서 분기 게이트웨이, 스크립트 작업 및 수렴 게이트웨이에 대한 속성을 설정해야합니다.
이 단계에서는 내 워크 플로에 오류가 있음을 보여주고 나중에 속성을 설정하면 내 워크 플로에 오류가 없음을 보여 주므로 생성 된 워크 플로의 유효성을 검사하는 방법을 보여줍니다.
팁-유효성 검사기는 Windows → 환경 설정 → 유효성 검사 아래에 있습니다.
아래 스크린 샷은 이클립스의 설정을 보여줍니다.


스크린 샷에 따라 4 개의 오류가 있음을 알 수 있습니다. 첫 번째 오류는 스크립트에 작업이 없음을 나타내고 다른 오류는 게이트웨이에 정의 된 유형이 없음을 나타냅니다. 따라서 워크 플로를 실행하려면 이러한 오류를 제거해야합니다.
이제 속성을 하나씩 설정하고 오류가 사라지는 것을 확인합니다.
첫 번째 게이트웨이 (diverge)를 선택하고 속성을 클릭 한 다음 유형을 클릭하고 요구 사항에 따라 게이트를 선택합니다.

게이트웨이를 선택한 후에는 제약 조건을 선택해야합니다.

빨간색으로 표시된 원을 클릭하면 아래 스크린 샷이 표시됩니다.

편집을 클릭하고 스크린 샷에 따라 세부 정보를 입력하십시오-


가져 오기를 클릭하고 작업을 수행 할 클래스를 가져옵니다. 스크린 샷에서는 예에서 사용할 승객 POJO를 가져 왔습니다.

마찬가지로, 다른 제약에 대한 세부 정보를 입력하십시오.

이제 OK 단추.

다시 클릭 OK. 이제 스크립트 작업을 선택하고 게이트웨이 분기에서 수행 한 것과 동일한 프로세스를 수행합니다.
흐름을 보여주기 위해 방금 SOP (print statement)를 추가했습니다. 모든 Java 또는 mvel 코드는 스크립트 태스크에 작성할 수 있습니다.

마찬가지로 두 번째 제약 조건에 대한 코드를 추가하십시오-

마지막으로 분기 게이트웨이에 대한 게이트웨이 유형을 추가해야합니다.

이제 워크 플로 파일을 저장하고 문제보기로 이동합니다. 모든 문제가 해결됩니다.

문제보기에 오류가 없다는 것은 생성 된 워크 플로에 오류가 없음을 의미합니다. 이것이 워크 플로가 생성되고 jBPM에서 검증되는 방법입니다.