JMS 연결 팩토리
연결 팩토리는 JMS 클라이언트 ( JMS API를 사용하는 JMS 프로그램) 가 JNDI 제공자 ( IBM® MQ와 같은 메시징 제공자) 와의 연결을 작성하는 데 사용하는 오브젝트입니다.
IBM MQ 를 사용하여 연결 팩토리를 작성하고 연결 팩토리가 연결을 작성하는 데 사용할 연결 매개변수를 정의할 수 있습니다.
대상과 같은 연결 팩토리는 오브젝트를 관리하며 네이밍 및 디렉토리 서비스 내의 정의된 위치인 JNDI 네임 스페이스에 저장됩니다. 초기 컨텍스트는 JNDI 네임스페이스의 루트를 정의합니다. IBM MQ 탐색기에서는 다음 그림에 표시된 대로 모든 연결 팩토리가 해당 컨텍스트 및 하위 컨텍스트의 연결 팩토리 폴더에 저장됩니다.
그림에서는 Connection Factory 1
이라는 연결 팩토리가 File System Initial Context
라는 초기 컨텍스트의 Connection Factories 폴더에 저장됩니다.
연결 팩토리를 정의할 때 JMS 제공자로 사용되는 메시징 제공자 (예: IBM MQ 또는 실시간) 를 선택하십시오. 연결 팩토리는 해당 메시징 제공자에 대해서만 연결을 작성할 수 있습니다. JMS 클라이언트가 다른 메시징 제공자에 대한 연결을 작성하려면, 새 연결 팩토리를 작성하고 메시징 제공자를 지정해야 합니다. 실시간 전송은 IBM MQ 8.0에서 사용할 수 없습니다. IBM MQ 8.0 을 사용하는 경우 실시간 전송을 정의할 수 있지만 연결을 작성하려고 시도하면 실패합니다.
도메인 독립 연결 팩토리
두 가지 메시징 도메인인 포인트-투-포인트 메시징 도메인과 발행/구독 메시징 도메인이 있습니다. 특별히 포인트-투-포인트 메시징(QueueConnectionFactory 인터페이스 사용)에 대해 또는 발행/구독 메시징(TopicConnectionFactory 인터페이스 사용)에 대해 연결 팩토리를 작성하여 연결을 작성할 수 있습니다. JNDI에서, 도메인이 독립적이고 지점간 및 발행/구독 메시징 모두에 사용할 수 있는 (ConnectionFactory 인터페이스 사용) 연결 팩토리를 작성할 수도 있습니다. 자세한 정보는 연결 팩토리 작성을 참조하십시오.
JMS 응용프로그램이 포인트-투-포인트 메시징만을 사용하거나 발행/구독 메시징만을 사용하려는 경우, 연결 팩토리를 작성할 때 특정 메시징 도메인을 선택할 수 있으며 도메인 특정 연결 팩토리가 작성됩니다.
그러나 동일한 트랜잭션 아래에서 포인트-투-포인트 및 발행/구독 작업을 모두 수행하려는 경우에는 도메인 독립 연결 팩토리를 작성할 수 있습니다. 예를 들어, JMS 응용프로그램이 토픽 (발행/구독 메시징) 에 등록하도록 하려는 경우 JMS 응용프로그램이 특정 메시지를 수신하면 다른 메시지를 큐 (지점간 메시징) 로 전송합니다. 도메인 특정 연결 팩토리를 사용하는 경우에는 동일한 트랜잭션에서 포인트-투-포인트와 발행/구독 작업을 모두 신뢰성 있게 수행하는 것이 어렵습니다. 각 메시징 도메인에 대해 별도의 연결 팩토리를 작성해야 합니다. 이는 포인트-투-포인트 작업은 QueueSession 세션에 의해 제어되는 트랜잭션 아래에서 수행되고 발행/구독 작업은 TopicSession 세션에 의해 제어되는 트랜잭션 아래에서 수행됨을 의미합니다. 송신 및 수신 조치가 모두 발생했는지 또는 모두 백아웃되었는지 확인하기가 어렵습니다.
포인트-투-포인트 작업에 대한 도메인 특정 연결 팩토리를 하나 작성하고 발행/구독 작업에 대한 도메인 특정 연결 팩토리를 하나 작성하는 대신, 둘 모두에 사용할 단일 도메인 독립 연결 팩토리를 작성할 수 있습니다. 이는 연결 팩토리가 하나의 세션을 작성하는 하나의 연결을 작성함을 의미합니다. 세션은 토픽으로부터 MessageConsumer를 작성하고 큐로 MessageProducer를 작성합니다. JMS 응용프로그램이 발행된 메시지를 수신하면, 다음 메시지를 동일한 세션의 트랜잭션 아래에 있는 대기열로 전송할 수 있습니다. 두 조작 모두 단일 작업 단위로 커미트 또는 롤백될 수 있습니다.
자세한 정보는 IBM 문서의 JMS에 대해 IBM MQ 클래스 사용 을 참조하십시오.