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