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. 클러스터의 라이프 사이클은 다음과 같습니다.

  1. 클라이언트 구현 개체가 생성되면 ConduitSelector 오브젝트에 대한 참조가 제공됩니다.
  2. 클라이언트가 메시지를 전송해야 하는 경우, 요청의 요청자(Conduit selector)의 구성 요소에 대한 참조입니다.

    메시지가 새 끝점에 대한 경우 구성 선택기는 새 conduit을 생성하여 클라이언트 구현에 전달합니다. 그렇지 않으면 대상 끝점에 대한 참조를 클라이언트에 전달합니다.

  3. 필요한 경우 구성 요소는 메시지를 보냅니다.
  4. 클라이언트 구현 개체를 삭제하면 연결된 모든 구성 요소가 삭제됩니다.

16.3. 유도 가중치

conduit 오브젝트의 가중치는 전송 구현에 따라 다릅니다. HTTP 고무는 매우 가벼운 무게입니다. JMS는 JMS Session 오브젝트 및 하나 이상의 JMSListenerContainer 오브젝트와 연관되므로 많은 경우가 많습니다.