2013-08-23 4 views
1

HTTP 아웃 바운드 게이트웨이 GET REST 서비스에 연결 중입니다. 다음 코드 snippent 봄 통합 XML에서입니다스프링 통합 - HTTP 아웃 바운드 게이트웨이 재시도 로직 구현

<http:outbound-gateway request-channel="dispatcherchannel" 
    http-method="GET" 
    url="http://ip:port/cacheAPI/Cache/fetch?employeeNumber={employeeNumber}" 
    reply-channel="outboundreplychannel" 
    expected-response-type="com.service.Employees"> 
<http:uri-variable name="empoyeeNumber" expression="payload"/> 
</http:outbound-gateway> 
내가이 게이트웨이에서 재시도 메커니즘을 설정하는 방법을 알고 싶어

그래서 나머지 서비스가 400/500/404의 oubound 게이트웨이와 같은 잘못된 응답 코드를 제공하는 경우 그 마지막으로 오류가 발생할 때까지 특정 횟수만큼 자동으로 재 시도 할 수 있어야합니다.

참조 용으로 구현 된 샘플을 얻을 수 있습니까?

감사합니다.

답변

0

응답 채널에서 응답을 처리 할 수 ​​있습니다. 서비스 액티베이터로 처리하고 응답을 구문 분석 한 다음 다시 시도할지 여부를 결정할 수 있습니다. 회신 채널에는 응답과 함께 원래 메시지가 있으므로 쉽게 다시 보낼 수 있습니다.

0

당신은 이미 봄에 의해 처리 케이스와 내가 매개 변수가 매우 분명하다 생각

 <int-http:request-handler-advice-chain > 
     <int:retry-advice max-attempts="5" recovery-channel="channelWantSendMessagTo" > 
      <int:exponential-back-off initial="1000" multiplier="5.0" maximum="600000" /> 
     </int:retry-advice> 
    </int-http:request-handler-advice-chain> 

통해 달성 할 수는 최대 당신이 메시지를 다시하려는 시도 복구 채널의 수를 시도합니다. 내부 요소는 대기 시간입니다

관련 문제