16장. conduits
초록
Conduits는 아웃바운드 연결을 구현하는 데 사용되는 낮은 수준의 전송 아키텍처입니다. 해당 동작 및 라이프사이클은 시스템 성능 및 처리 로드에 영향을 미칠 수 있습니다.
16.1. 개요
Conduits는 Apache CXF 런타임의 클라이언트 측 또는 아웃 바운드 세부 정보를 관리합니다. 포트 열기, 아웃바운드 연결 설정, 메시지 전송, 애플리케이션과 단일 외부 끝점 간의 모든 응답을 수신 대기해야 합니다. 애플리케이션이 여러 끝점에 연결하면 각 끝점에 대해 하나의 연속 인스턴스가 생성됩니다.
각 전송 유형은 Conduit 인터페이스를 사용하여 자체 conduit를 구현합니다. 이를 통해 애플리케이션 수준 기능과 전송 간의 표준화된 인터페이스를 사용할 수 있습니다.
일반적으로 클라이언트 측 전송 세부 정보를 구성할 때 애플리케이션에서 사용하는 정체에 대해서만 주의해야 합니다. 런타임에서 conduits를 처리하는 방법의 기본 의미 체계는 일반적으로 개발자가 걱정해야 하는 것이 아닙니다.
그러나 conduit's를 이해하면 도움이 될 수 있는 경우가 있습니다.
- 사용자 정의 전송 구현
- 제한된 리소스를 관리하기 위한 고급 애플리케이션 튜닝
16.2. Conduit 라이프 사이클
conduits는 클라이언트 구현 개체에서 관리합니다. 생성되면 클라이언트 구현 오브젝트 기간 동안 연속이 생성됩니다. conduit의 라이프 사이클은 다음과 같습니다.
-
클라이언트 구현 오브젝트가 생성되면
ConduitSelector
오브젝트에 대한 참조가 제공됩니다. 클라이언트가 메시지를 전송해야 하는 경우 메시지가 요청의 conduit 선택기에 대한 참조입니다.
메시지가 새 엔드포인트에 대한 경우 conduit 선택기는 새 conduit를 생성하여 클라이언트 구현에 전달합니다. 그렇지 않으면 대상 끝점에 대한 요약에 대한 참조를 클라이언트에 전달합니다.
- 동의어는 필요에 따라 메시지를 보냅니다.
- 클라이언트 구현 개체가 삭제되면 연결된 모든 연속이 삭제됩니다.
16.3. Conduit weight
conduit 오브젝트의 가중치는 전송 구현에 따라 다릅니다. HTTP 접합은 매우 간단한 가중치입니다. JMS 연속은 JMS Session
오브젝트 및 하나 이상의 JMSListenerContainer
오브젝트와 연결되어 있기 때문에 무관합니다.