1

我有一个有趣的挑战,必须在一个环境中将消息发布到主题,并且必须将消息发送到另一个环境中的队列。两种环境都需要具有相同的代码库。有没有办法在运行时确定目标是队列还是主题并调用代码以相应地发送到主题或队列?

4

2 回答 2

2

队列和主题扩展目的地。因此,如果您有一个 Destination 实例,您可以使用instanceof它来确定它是 Queue 还是 Topic

于 2014-05-08T02:10:31.523 回答
2

在回答这个问题之前,有必要首先问一下,您认为代码对队列和主题的作用会有所不同吗?如果 WMQ 类的历史不到十年,则它们使用自 JMS 1.1 以来可用的统一模型。queueConnectionFactory与其在 a和 a之间进行选择,不如topicConnectionFactory让代码实例化一个泛型connectionFactory. 让代码实例化一个对象,而不是实例化一个queue或对象。那时你真的不在乎目的地下的东西是队列还是主题。topicdestination

请参阅IBM WebSphere Developer Technical Journal:在 WebSphere MQ V6.0 上运行独立的 Java 应用程序以获取完整的描述,包括说明如何完成的示例代码源。

于 2014-05-08T05:08:16.317 回答