2013-04-17 5 views
0

우리는 한 달 전에 뮬을 사용하기 시작했습니다. 그리고 지금까지 좋은 학습이었습니다. 현재, 우리는 이질적인 시스템을 통합하는 많은 흐름을 구현했습니다. 우리에게 필요한 요구 사항 중 하나는 각 플로우의 끝에서 클린업 코드를 실행하는 것입니다. 파이널 라이저 구조와 더 비슷합니다.뮬 - 플로우 정리 코드 접근법

나는 우리의 모든 흐름을 따라갈 수있는 일반적인 접근법을 찾고있다.

주 - 플로우의 끝까지 단계를 추가하면 (일부는 클린업 코드를 실행할 수 있음) - 이전 단계를 완료 한 후에 해당 단계가 실행된다는 보장이 없습니다 (일부는 단계는 다른 스레드에서 실행되며 전체 흐름을 하나의 동기 스레드에서 실행하지 않으려합니다. 흐름의 모든 단계를 완료 할 때 구독자에게 알려주는 이벤트 메커니즘이 있습니까? 나는 노새 흐름 라이프 사이클이 여기에 잘 맞는지 확신 할 수 없다. 도와주세요.

감사합니다.

답변

1

아마 이것에 대한 좋은 후보가 뮬 서버 알림은 다음과 같습니다 http://www.mulesoft.org/documentation/display/current/Mule+Server+Notifications

+0

감사 스바 귀하의 제안에 대해. 내가 제공 한 링크를 확인했습니다. 흐름 완료에 대한 알림을 볼 수 없었습니다. 기본적으로 플로우 (모든 단계)가 완료된 후에 정적 코드 조각을 실행하려고합니다. note - 질문에서 언급했듯이, 어떤 단계가 마지막 단계를 실행하는지 알지 못합니다. 이러한 단계는 다른 스레드에서 실행됩니다. – Arun

+0

이 알림을 확인하십시오 : org.mule.context.notification.PipelineMessageNotification – Seba

+0

Thanks @ Seba. PipelineMessageNotification을 살펴 보았습니다. 그러나 그것이 어떻게 도움이 될지 이해하지 못합니다. 우리는 쇠사슬로 묶인 물건이 없습니다. 어쩌면 PipelineMessageNotification에 대한 나의 이해가 잘못되었을 수도 있습니다. 우리의 전형적인 흐름은 다음과 같습니다 : - <변압기 1> - <변압기 2> - - . 이제 우리는 동기 처리 전략이 없으므로 FTP는 별도의 스레드에서 실행되고 정리 단계는 다른 스레드에서 FTP의 것과 병렬로 호출됩니다. 이것이 우리 문제입니다. 우리는 기본적으로 을 실행하여 다른 모든 단계의 실행 완료를 원합니다. – Arun