6.2. 게시-서브스크립션 채널


6.2.1. 개요

그림 6.2. “서브스크립션 채널 패턴 게시” 에 표시된 게시-서브스크립션 채널은 여러 구독자가 지정된 메시지를 사용할 수 있는 5.2절. “메시지 채널” 입니다. 이는 6.1절. “point-to-Point 채널” 과 다릅니다. 게시-서브스크립션 채널은 여러 구독자에게 이벤트 또는 알림을 브로드캐스트하는 수단으로 자주 사용됩니다.

그림 6.2. 서브스크립션 채널 패턴 게시

서브스크립션 채널 패턴 게시

6.2.2. 게시-서브스크립션 채널을 지원하는 구성 요소

다음 Apache Camel 구성 요소는 publish-subscribe 채널 패턴을 지원합니다.

  • JMS
  • ActiveMQ
  • XMPP
  • SEDA 는 pub-sub에서 작동할 수 있지만 여러 소비자를 허용하는 동일한 CamelContext에서 SEDA로 작업하는 데 사용됩니다.
  • 동일한 JVM 내에서 사용할 수 있도록 Apache Camel 구성 요소 참조 가이드의 VM 을 SEDA로 참조하십시오.

6.2.3. JMS

JMS에서 게시-서브스크립션 채널은 주제로 표시됩니다. 예를 들어 다음과 같이 Cryostat Quotes라는 JMS 항목에 대한 엔드포인트 URI를 지정할 수 있습니다.

jms:topic:StockQuotes

자세한 내용은 Apache Camel 구성 요소 참조 가이드Jms 를 참조하십시오.

6.2.4. ActiveMQ

ActiveMQ에서 게시-서브스크립션 채널은 주제로 표시됩니다. 예를 들어 다음과 같이 Cryostat Quotes 라는 ActiveMQ 항목에 대한 엔드포인트 URI를 지정할 수 있습니다.

activemq:topic:StockQuotes

자세한 내용은 Apache Camel 구성 요소 참조 가이드ActiveMQ 를 참조하십시오.

6.2.5. XMPP

XMPP(Jabber) 구성 요소는 그룹 통신 모드에서 사용할 때 게시-서브스크립션 채널 패턴을 지원합니다. 자세한 내용은 Apache Camel 구성 요소 참조 가이드Xmpp 를 참조하십시오.

6.2.6. 정적 서브스크립션 목록

원하는 경우 Apache Camel 애플리케이션 자체 내에서 게시-서브스크립션 논리를 구현할 수도 있습니다. 간단한 접근 방식은 경로 끝에 대상 끝점이 모두 명시적으로 나열된 정적 서브스크립션 목록을 정의하는 것입니다. 그러나 이 접근 방식은 JMS 또는 ActiveMQ 주제만큼 유연하지 않습니다.

6.2.7. Java DSL 예

다음 Java DSL 예제에서는 단일 게시자, seda:a 및 세 구독자, seda:b:c, seda:d 를 사용하여 게시 구독 채널을 시뮬레이션하는 방법을 보여줍니다.

from("seda:a").to("seda:b", "seda:c", "seda:d");
참고

이는 InOnly 메시지 교환 패턴에서만 작동합니다.

6.2.8. XML 구성 예

다음 예제에서는 XML로 동일한 경로를 구성하는 방법을 보여줍니다.

<camelContext id="buildStaticRecipientList" xmlns="http://camel.apache.org/schema/spring">
  <route>
    <from uri="seda:a"/>
    <to uri="seda:b"/>
    <to uri="seda:c"/>
    <to uri="seda:d"/>
  </route>
</camelContext>
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.