3.14. AsyncHttpClient 구성

AsyncHttpClient 클라이언트는 AsyncHttpClientConfig 를 사용하여 클라이언트를 구성합니다. 자세한 내용은
Async Http Client 설명서를 참조하십시오.

Camel 2.8 에서 구성은 AsyncHttpClientConfig.Builder 에서 제공하는 빌더 패턴을 사용하도록 제한됩니다. Camel 2.8에서 AsyncHttpClientConfig 는 getter/setter를 지원하지 않으므로 Spring bean 스타일(예: XML 파일의 <bean> 태그)을 사용하여 쉽게 만들고 구성할 수 없습니다.

아래 예제에서는 빌더를 사용하여 AhcComponent 에서 구성하는 AsyncHttpClientConfig 를 생성하는 방법을 보여줍니다.

Camel 2.9 에서 AHC 구성 요소는 Async HTTP 라이브러리 1.6.4를 사용합니다. 이 최신 버전은 일반 빈 스타일 구성에 대한 추가 지원을 제공합니다. AsyncHttpClientConfigBean 클래스는 AsyncHttpClientConfig 에서 사용할 수 있는 구성 옵션에 대한 getter 및 setter를 제공합니다. AsyncHttpClientConfigBean 인스턴스는 AHC 구성 요소로 직접 전달되거나 clientConfig URI를 사용하여 끝점 URI에서 참조될 수 있습니다.

Camel 2.9 에서도 사용할 수 있는 기능은 URI에서 직접 구성 옵션을 설정하는 기능입니다. "clientConfig"로 시작하는 URI 매개 변수를 사용하여 AsyncHttpClientConfig 의 다양한 구성 가능한 속성을 설정할 수 있습니다. 끝점 URI에 지정된 속성은 "clientConfig" 매개변수 사용 우선 순위를 사용하여 설정되는 항목과 "clientConfig" URI 매개변수에서 참조하는 구성에 지정된 특성과 병합됩니다. 참조되는 AsyncHttpClientConfig 인스턴스는 각 엔드포인트에 대해 항상 복사되므로 하나의 끝점의 설정이 이전에 생성된 끝점의 설정과 관계없이 유지됩니다. 아래 예제에서는 "clientConfig" 유형 URI 매개 변수를 사용하여 AHC 구성 요소를 구성하는 방법을 보여줍니다.

from("direct:start")
    .to("ahc:http://localhost:8080/foo?clientConfig.maxRequestRetry=3&clientConfig.followRedirects=true")