15장. Apache ActiveMQ와 통합


15.1. 개요

Apache ActiveMQ를 JMS 공급자로 사용하는 경우 대상의 JNDI 이름을 대기열 또는 주제에 대한 JNDI 바인딩을 동적으로 생성하는 특수 형식으로 지정할 수 있습니다. 즉, 대기열 또는 주제의 JNDI 바인딩을 미리 JMS 공급자를 구성할 필요가 없습니다.

15.2. 초기 컨텍스트 팩토리

Apache ActiveMQ와 JNDI를 통합하는 핵심은 ActiveMQInitialContextFactory 클래스입니다. 이 클래스는 JNDI InitialContext 인스턴스를 생성하는 데 사용되며, 이를 사용하여 JMS 브로커의 JMS 대상에 액세스할 수 있습니다.

예 15.1. “Apache ActiveMQ에 연결하기 위한 Cryostat/JMS WSDL” Apache ActiveMQ와 통합된 JNDI InitialContext 를 생성하기 위해 Cryostat/JMS WSDL 확장을 표시합니다.

예 15.1. Apache ActiveMQ에 연결하기 위한 Cryostat/JMS WSDL

<soapjms:jndiInitialContextFactory>
  org.apache.activemq.jndi.ActiveMQInitialContextFactory
</soapjms:jndiInitialContextFactory>
<soapjms:jndiURL>tcp://localhost:61616</soapjms:jndiURL>

예 15.1. “Apache ActiveMQ에 연결하기 위한 Cryostat/JMS WSDL” 에서 Apache ActiveMQ 클라이언트는 tcp://localhost:61616 에 있는 브로커 포트에 연결합니다.

15.3. 연결 팩토리 검색

JNDI InitialContext 인스턴스를 생성할 뿐만 아니라 javax.jms.ConnectionFactory 인스턴스에 바인딩된 JNDI 이름을 지정해야 합니다. Apache ActiveMQ의 경우 JNDI 이름 ConnectionFactoryActiveMQConnectionFactory 인스턴스에 매핑하는 InitialContext 인스턴스에 사전 정의된 바인딩이 있습니다. 예 15.2. “Apache ActiveMQ 연결 팩토리를 지정하기 위한 Cryostat/JMS WSDL” Apache ActiveMQ 연결 팩토리를 지정하기 위한 Cryostat/JMS 확장 요소를 shaows합니다.

예 15.2. Apache ActiveMQ 연결 팩토리를 지정하기 위한 Cryostat/JMS WSDL

<soapjms:jndiConnectionFactoryName>
  ConnectionFactory
</soapjms:jndiConnectionFactoryName>

15.4. 동적 대상의 구문

큐 또는 항목에 동적으로 액세스하려면 다음 형식 중 하나에서 대상의 JNDI 이름을 JNDI 복합 이름으로 지정합니다.

dynamicQueues/QueueName
dynamicTopics/TopicName

QueueNameTopicName 은 Apache ActiveMQ 브로커가 사용하는 이름입니다. 이는 추상 JNDI 이름이 아닙니다.

예 15.3. “동적으로 생성된 큐를 사용한 WSDL 포트 사양” 동적으로 생성된 큐를 사용하는 WSDL 포트를 표시합니다.

예 15.3. 동적으로 생성된 큐를 사용한 WSDL 포트 사양

<service name="JMSService">
  <port binding="tns:GreeterBinding" name="JMSPort">
    <jms:address jndiConnectionFactoryName="ConnectionFactory"
                 jndiDestinationName="dynamicQueues/greeter.request.queue" >
      <jms:JMSNamingProperty name="java.naming.factory.initial"
                             value="org.activemq.jndi.ActiveMQInitialContextFactory" />
      <jms:JMSNamingProperty name="java.naming.provider.url"
                             value="tcp://localhost:61616" />
    </jms:address>
  </port>
</service>

애플리케이션이 JMS 연결을 열려고 하면 Apache ActiveMQ에서 JNDI 이름 Cryostater .request.queue가 있는 큐 가 있는지 확인합니다. 존재하지 않는 경우 새 큐를 생성하여 JNDI 이름 happy er.request.queue에 바인딩합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.