2015-01-14 1 views
0

의 메소드 com.ibm.mq.jms.MQSession에서의 작동을 명확히해야합니다. 임의의 큐 이름을 전달하면 임시 큐가 생성됩니까? 한편, 큐 관리자에서 구성된 정적 큐를 나타내는 Queue 오브젝트를 얻으려면 값을 String으로 전달해야합니까? 예를 들어, MQDestination 유형의 dest 개체가있는 경우 dest.toString() 또는 javadocs 또는 (URI 문자열을 반환)에 따라 호출 할 수 있습니다. 전술 한 createQueue 메소드에 건네 주면 (자),이 2 개의 결과는 모두 동작합니다.Websphere MQ : com.ibm.mq.jms.MQSession의 메소드 createQueue (java.lang.String queueName)의 올바른 사용

제 질문의 의도는 적절히 봄의 DynamicDestinationResolver (String을 가져 와서 Destination을 반환)을 사용하는 것입니다. 그 뒤에서이 MQ 특정 메서드를 사용합니다. 시간

답변

1

에 대한

덕분에 당신은 JMS 세션에 대한 설명을 찾을 수 있습니다 여기에 객체 :

JMS Session.createQueue에서

http://docs.oracle.com/javaee/7/api/javax/jms/Session.html

()는 MQ 큐에 실제 큐를 만들지 않습니다 관리자가 아니라 이미 정의 된 관리자와 연결하는 데 사용됩니다. MQSession.createQueue ("Q1"); 큐 관리자에 이미 존재하는 큐 'Q1'을 참조하는 데 사용될 수있는 Destination 오브젝트가 생성됩니다.

임시 대기열을 만들려면 MQSession 객체의 createTemporaryQueue() 메소드를 사용해야합니다. 임시 대기열의 이름을 제어 할 수는 없지만.

+0

임시 대기열의 접두사를 제어 할 수 있습니다. 접두어를 추가하는 데 사용할 수있는 등록 정보가 연결 팩토리에 있습니다. 이름의 주체는 응용 프로그램 제어 내에 있지 않습니다. – Calanais

+0

감사합니다. 예제 Q1에서 세션에 전달 된 대기열 이름이 특정 기준을 충족시켜야하는지 알고 있습니까? 예를 들어 URI 여야합니까? 물리적 큐 이름? 이것은 공급자 별 고려 사항 인 것 같습니다. 구체적으로 Websphere MQ의 용도를 알고 싶습니다. –

+0

로컬 큐 관리자 (연결된 사용자)의 큐 이름을 지정하거나 전체 URI를 지정하는 옵션이 있습니다. . 내 예에서 'Q1'은 큐 관리자의 로컬 큐 이름입니다. IBM은 여기에 createQueue()에 대한 대기열 이름을 지정하는 다양한 방법에 대한 좋은 페이지를 가지고 있습니다 : http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.dev.doc/ q032240_.htm? lang = en –