2016-08-26 5 views
0

스프링 통합에서는 동적 채널 생성을 처리해야하지만 응용 프로그램을 디버깅 할 때 다른 채널간에 "블로킹"문제가 발생합니다. 스프링 통합 비동기 오류 처리

동적 채널을 얻기 위해, 나는 부모/자녀 컨텍스트에서 응용 프로그램을 나누어 나는 다음과 같은 Spring 통합 인프라가 : 모든 TCP 연결이 OK 할 때

Gateway (parent) --> Transformer(Parent) --> Router (Parent/Child) --> TCP outbound (child) 

이 구성은 잘 작동합니다. 테스트 목적으로 클라이언트가 연결된 다른 서버를 중지하고 errorChannel이 오류 (연결 거부) 만 수신하는 방법을 볼 수 있지만 나머지 어댑터도 중지됩니다. 나는이 오류를 리디렉션/버리기/분리하고 일반 errorChannel으로 전파되지 않도록하고 싶습니다.

errorChannel은 상위 컨텍스트에서 공유되는 공통 채널이지만 각 하위 컨텍스트에 대해 완전한 분리 시나리오를 어떻게 개발할 수 있습니까? 공통 게이트웨이가 문제입니까?

게시물은 Error handling in Spring integration flow async이지만 각 어린이마다 완전한 분리 된 환경이 있으므로 이러한 동적 분리를 활용하고 싶습니다. 이것이 가능한가?

답변

0

각 자식에 고유 한 오류 채널을 사용하여 다른 게이트웨이를 추가 할 수 있습니다.

--> Router (Parent/Child) -> service-activator (child) -> gateway(child) -> TCP Out. 

응답 서비스가 필요하지 않으므로 게이트웨이 서비스 인터페이스에 void 반환이 필요합니다.

+0

정말 도움이되었습니다. – crm86

관련 문제