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에 연결하는 SOAP/JMS WSDL” 는 Apache ActiveMQ와 통합된 JNDI InitialContext 를 생성하는 SOAP/JMS WSDL 확장 기능을 보여줍니다.

예 15.1. Apache ActiveMQ에 연결하는 SOAP/JMS WSDL

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

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

15.3. 연결 팩토리 검색

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

예 15.2. Apache ActiveMQ 연결 팩토리 지정을 위한 SOAP/JMS WSDL

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

15.4. 동적 대상의 구문

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

dynamicQueues/QueueName
dynamicTopics/TopicName

QueueName 및 TopicName 은 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 이름 greeter.request.queue 가 있는지 확인합니다. 존재하지 않는 경우 새 큐를 생성하고 JNDI 이름 greeter.request.queue 에 바인딩합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

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

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

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

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동