Websphere MQ:在 com.ibm.mq.jms.MQSession 中正确使用方法 createQueue(java.lang.String queueName)
Websphere MQ: Proper usage of method createQueue(java.lang.String queueName) in com.ibm.mq.jms.MQSession
我需要从 class com.ibm.mq.jms.MQSession
中阐明方法 createQueue(java.lang.String queueName)
的行为。
如果我传递任意队列名称,它会创建一个临时队列吗?另一方面,需要传递什么 String
值才能获得表示队列管理器中配置的静态队列的 Queue
对象?
例如,如果我有一个类型为 MQDestination
的对象 dest
,我可以调用 dest.toString()
或根据 javadocs 或 dest.getStringFromDestination()
(其中 returns 一个 URI 字符串) .如果传递给提到的 createQueue 方法,这两个结果中的任何一个都有效吗?
我的问题的目的是正确使用 Spring 的 DynamicDestinationResolver
(采用字符串和 returns 目标),它在幕后使用此 MQ 特定方法。
感谢您的宝贵时间
您可以在此处找到 JMS 会话对象的描述:
http://docs.oracle.com/javaee/7/api/javax/jms/Session.html
在 JMS 中 Session.createQueue() 不会在 MQ 队列管理器上创建物理队列,而是用于连接到已定义的队列。 MQSession.createQueue("Q1");将产生一个 Destination 对象,该对象可用于引用队列管理器上已存在的队列 'Q1'。
要创建临时队列,您需要使用 MQSession 对象的 createTemporaryQueue() 方法。尽管您无法控制所述临时队列的名称。
我需要从 class com.ibm.mq.jms.MQSession
中阐明方法 createQueue(java.lang.String queueName)
的行为。
如果我传递任意队列名称,它会创建一个临时队列吗?另一方面,需要传递什么 String
值才能获得表示队列管理器中配置的静态队列的 Queue
对象?
例如,如果我有一个类型为 MQDestination
的对象 dest
,我可以调用 dest.toString()
或根据 javadocs 或 dest.getStringFromDestination()
(其中 returns 一个 URI 字符串) .如果传递给提到的 createQueue 方法,这两个结果中的任何一个都有效吗?
我的问题的目的是正确使用 Spring 的 DynamicDestinationResolver
(采用字符串和 returns 目标),它在幕后使用此 MQ 特定方法。
感谢您的宝贵时间
您可以在此处找到 JMS 会话对象的描述:
http://docs.oracle.com/javaee/7/api/javax/jms/Session.html
在 JMS 中 Session.createQueue() 不会在 MQ 队列管理器上创建物理队列,而是用于连接到已定义的队列。 MQSession.createQueue("Q1");将产生一个 Destination 对象,该对象可用于引用队列管理器上已存在的队列 'Q1'。
要创建临时队列,您需要使用 MQSession 对象的 createTemporaryQueue() 方法。尽管您无法控制所述临时队列的名称。