Java 您能否在运行时确定目标是队列还是主题?
我有一个有趣的挑战,就是必须在一个环境中向主题发布消息,并且必须在另一个环境中向队列发送消息。这两个环境需要有相同的代码库。有没有办法在运行时确定目标是队列还是主题,并相应地调用代码发送到主题或队列?队列和主题扩展目标。因此,如果您有一个目的地实例,您可以使用Java 您能否在运行时确定目标是队列还是主题?,java,jms,ibm-mq,jms-topic,Java,Jms,Ibm Mq,Jms Topic,我有一个有趣的挑战,就是必须在一个环境中向主题发布消息,并且必须在另一个环境中向队列发送消息。这两个环境需要有相同的代码库。有没有办法在运行时确定目标是队列还是主题,并相应地调用代码发送到主题或队列?队列和主题扩展目标。因此,如果您有一个目的地实例,您可以使用instanceof来确定它是队列还是主题队列和主题扩展目的地。因此,如果您有一个目的地实例,您可以使用instanceof来确定它是队列还是主题在回答问题之前,有必要首先询问您认为代码对队列和主题有什么不同?如果WMQ类的历史不到十年,它
instanceof
来确定它是队列还是主题队列和主题扩展目的地。因此,如果您有一个目的地实例,您可以使用instanceof
来确定它是队列还是主题在回答问题之前,有必要首先询问您认为代码对队列和主题有什么不同?如果WMQ类的历史不到十年,它们将使用自JMS 1.1以来可用的统一模型。与其在队列连接工厂
与主题连接工厂
之间进行选择,不如让代码实例化一个通用的连接工厂
。与其实例化队列
或主题
对象,不如让代码实例化目标
对象。在这一点上,您真的不在乎目的地下的东西是队列还是主题
请参阅以获取完整的描述,包括示例代码源代码,其中显示了如何完成此操作。在回答问题之前,有必要首先询问您认为代码对队列和主题的作用有何不同?如果WMQ类的历史不到十年,它们将使用自JMS 1.1以来可用的统一模型。与其在
队列连接工厂
与主题连接工厂
之间进行选择,不如让代码实例化一个通用的连接工厂
。与其实例化队列
或主题
对象,不如让代码实例化目标
对象。在这一点上,您真的不在乎目的地下的东西是队列还是主题
有关完整的说明,请参阅,包括示例代码源代码,说明如何完成此操作。谢谢您的回复。问题是,我不知道目的地X是队列还是主题。我是否能够为X创建一个目标对象,然后检查它是队列还是主题,并相应地调用代码?会话对象有两个方法#createTopic(String)和#createQueue(String)。所以,一般来说,只使用标准的JMS,ansnwer是不行的。您应该提前知道目的地的类型。谢谢您的回复。问题是,我不知道目的地X是队列还是主题。我是否能够为X创建一个目标对象,然后检查它是队列还是主题,并相应地调用代码?会话对象有两个方法#createTopic(String)和#createQueue(String)。因此,通常情况下,只使用标准JMS,ansnwer是不行的。您应该提前知道目的地的类型。