gpt4 book ai didi

java - com.ibm.mq.MQQueue 与 com.ibm.mq.jms.MQQueue?

转载 作者:行者123 更新时间:2023-12-02 05:03:26 25 4
gpt4 key购买 nike

我正在尝试将原始 MQSTR 消息放入 WebSphere MQ 队列。根据this ,我能做到:

((com.ibm.mq.jms.MQQueue) queue).setTargetClient(JMSC.MQJMS_CLIENT_NONJMS_MQ);

表明它是一个非JMS队列。 (我知道 JMSC.MQJMS_CLIENT_NONJMS_MQ 已被弃用 - 这与这个问题无关。)但是,我一直在使用 com.ibm.mq.MQQueue 而不是 com.ibm.mq.jms.MQQueue。从前者到后者的转换不起作用。此外,只有 com.ibm.mq.jms.MQQueue 具有 setTargetClient 方法。

为什么有两个 MQQueue 类,我应该使用哪一个?我想使用主机名、 channel 名称和队列管理器名称(不是 JNDI)在 Java 程序中从外部连接到 z/OS 队列。

最佳答案

嗯。我不想给出“RTM”答案,但这确实是答案。有 2 个 JAVA MQ API:1 个用于“Java 的 MQ 类”,1 个用于“JMS 的 MQ 类”。

注意:“MQ 类用于 JMS”会将 JMS header (又名 MQRFH2)放在消息上,而“MQ 类用于 Java”则不会。

因此,如果您正在编写常规 Java/MQ 应用程序,则不要使用“用于 JMS 的 MQ 类”,只需使用“用于 Java 的 MQ 类”即可。

关于java - com.ibm.mq.MQQueue 与 com.ibm.mq.jms.MQQueue?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28033864/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com