【发布时间】:2014-06-25 04:27:58
【问题描述】:
我有一个有趣的挑战,即必须在一个环境中将消息发布到主题,而必须将消息发送到另一个环境中的队列。两种环境都需要具有相同的代码库。有没有办法在运行时确定目标是队列还是主题并调用代码以相应地发送到主题或队列?
【问题讨论】:
我有一个有趣的挑战,即必须在一个环境中将消息发布到主题,而必须将消息发送到另一个环境中的队列。两种环境都需要具有相同的代码库。有没有办法在运行时确定目标是队列还是主题并调用代码以相应地发送到主题或队列?
【问题讨论】:
队列和主题扩展目的地。因此,如果您有一个 Destination 实例,您可以使用 instanceof 来确定它是队列还是主题
【讨论】:
在回答问题之前,有必要先问一下,您认为代码对队列和主题的作用会有所不同吗?如果 WMQ 类的历史不到十年,则它们使用自 JMS 1.1 以来可用的统一模型。不要在queueConnectionFactory 和topicConnectionFactory 之间进行选择,而是让代码实例化一个通用的connectionFactory。不要实例化queue 或topic 对象,而是让代码实例化destination 对象。那时你真的不在乎目的地下的东西是队列还是主题。
请参阅IBM WebSphere Developer Technical Journal: Running a standalone Java application on WebSphere MQ V6.0 以获取完整说明,包括说明如何完成的示例代码源。
【讨论】: