또한 동일한 방법으로 다른 노드에 서브플로우를 연결할 수도 있습니다. 서브플로우를 한 번 정의하여 둘 이상의 메시지 플로우(및 둘 이상의 메시지 플로우 프로젝트)에서 사용할 수 있으므로 서브플로우에는 몇 가지 장점이 있습니다.
그러나 서브플로우는 단일 노드가 아니며, 이를 포함시키면 메시지 플로우의 노드 수가 증가하므로 성능에 영향을 미칠 수 있습니다.
다음 예제와 같이 서브플로우를 사용할 수 있습니다.
서브플로우가 입력 노드에 포함되어 있는지
식별하기 위해, 입력 노드 뒤의 첫 번째 노드로 서브플로우에 Passthrough 노드를
사용할 수 있습니다. 원하는 대로
ID(레이블)를 지정할 수 있습니다(예: 구성된 플로우 버전 또는 레벨 식별). Passthrough 노드는 메시지를 일정 방법으로 처리하지 않습니다. out 터미널에서 전달하는
메시지는 in 터미널에서 수신하는 메시지와 동일합니다. 예를 들어,
여러 메시지 플로우에 포함시킬 오류 처리 서브플로우를 개발하는 경우,
해당 서브플로우를 수정하려고 할 수 있습니다. 그러나 시작 시에 그 안에 포함되는 메시지 플로우 서브세트로만 수정된
버전을 소개하려고 할 수도 있습니다.
포함시킨 서브플로우 버전을 식별하는 Passthrough 노드 인스턴스의 값을
설정하십시오.
서브플로우의 사용법이 다음 샘플에 설명되어 있습니다.
서브플로우의 사용법이 Error Handler 샘플 및 Coordinated Request Reply 샘플에 설명되어 있습니다. Error Handler 샘플은 서브플로우를 사용하여 오류에 대한 정보를 트랩하고 데이터베이스에 해당 정보를 저장합니다. Coordinated Request Reply 샘플은 서브플로우를 사용하여 WebSphere MQ 메시지의 ReplyToQ 및 ReplyToQMgr 값의 저장영역을 캡슐화하므로 처리 논리가 기타 메시지 플로우에서 쉽게 다시 사용될 수 있으며 대체 구현으로 바꿀 수 있습니다.