내장
또는 사용자 정의 노드를 포함할 때와
동일한 방법으로 메시지 플로우에 서브플로우를 포함시킬 수 있습니다.
또한 동일한 방법으로 다른 노드에
서브플로우를 연결할 수도 있습니다. 서브플로우를 한 번 정의하여 둘 이상의
메시지 플로우(및 둘 이상의 메시지 플로우 프로젝트)에서 사용할 수 있으므로 서브플로우에는 몇 가지 장점이 있습니다.
- 재사용 및 개발 시간 감소.
- 특정 기능을 아카이브하는 일관된 방법 및 메시지 플로우의
증가된 유지보수 가능성(서브플로우를 프로그래밍 매크로 또는 하나를 작성하여 여러 곳에서 사용하는 인라인 코드와 유사한
것으로 고려).
- 유연성. 서브플로우의 일부
또는 모든 노드 등록 정보를 확장하면 특정 컨텍스트에 맞게 서브플로우를
구성할 수 있습니다(예: 출력 큐 또는 데이터 소스 정보를 갱신하여).
그러나 서브플로우는 단일 노드가 아니며, 이를 포함시키면 메시지 플로우의 노드 수가 증가하므로
성능에 영향을 미칠 수 있습니다.
다음 예제와 같이 서브플로우를 사용할 수 있습니다.
- 오류를 발견할 경우 여러 메시지 플로우에 적용되는 공용 조치 순서를 제공하는 서브플로우를 정의할 수 있습니다.
예를 들어, Warehouse 노드를 통해 메시지를 데이터베이스에 기록한 다음 오류 복구 루틴이 처리할 수 있도록 이를 큐에 넣는 공용 오류 루틴이 있을 수 있습니다. 다중 메시지 플로우 또는
한 메시지 플로우 내의 여러 장소에 이 루틴을 사용하면 자원을 효율적이고 일관성있게 사용할 수 있으며
오류가 발생할 때마다 이러한 루틴을 고려하지 않아도 됩니다.
- 여러 다른 메시지 플로우를 통과하는 메시지에 대해 수행할 공용 계산이 있을 수 있습니다.
예를 들어, 데이터베이스의 현재 환율에 액세스하여 이를 여러 다른 통화 가격을 계산하는 데 적용할 수 있습니다. 적절한 각 메시지 플로우에 통화 계산기 서브플로우를 포함시킬 수 있습니다.
서브플로우의 사용법이 다음 샘플에 설명되어 있습니다.