[IBM i]

使用 JavaJMSIBM i 上设置 IBM MQ

此主题集合概述了如何使用 CL 命令或 qshell 环境在 IBM i 上使用 JavaJMS 来设置和测试 IBM® MQ

注:
  • IBM MQ 8.0 起,ldap.jarjndi.jarjta.jar 是 JDK 的一部分。
  • [Jakarta Messaging 3.0 ]IBM MQ 9.3.0 开始,Jakarta Messaging 3.0支持开发新的应用程序。 IBM MQ 9.3.0 和更高版本继续支持现有应用程序的 JMS 2.0 。 不支持在同一应用程序中同时使用 Jakarta Messaging 3.0 API 和 JMS 2.0 API。 有关更多信息,请参阅 使用 IBM MQ classes for JMS/Jakarta Messaging

使用 CL 命令

您设置的 CLASSPATH 用于使用 MQ 基本 Java,具有 JNDI 的 JMS 和没有 JNDI 的 JMS 进行测试。

如果在 /home/Userprofile 目录下不使用 .profile 文件,则需要设置系统级环境变量。 您可以检查以了解其是否是使用 WRKENVVAR 命令设置的。
  1. 要查看整个系统的环境变量,请发出命令:WRKENVVAR LEVEL(*SYS)
  2. 要查看特定于您的作业的环境变量,请发出命令:WRKENVVAR LEVEL(*JOB)
  3. 如果未设置 CLASSPATH ,请发出以下命令:
    [Jakarta Messaging 3.0 ]
    
    ADDENVVAR ENVVAR(CLASSPATH)
           VALUE('.:/QIBM/ProdData/mqm/java/lib/com.ibm.mq.jar
           :/QIBM/ProdData/mqm/java/lib/connector.jar:/QIBM/ProdData/mqm/java/lib
           :/QIBM/ProdData/mqm/java/samples/base
           :/QIBM/ProdData/mqm/java/lib/com.ibm.mq.jakarta.client.jar
           :/QIBM/ProdData/mqm/java/lib/jms.jar
           :/QIBM/ProdData/mqm/java/lib/providerutil.jar
           :/QIBM/ProdData/mqm/java/lib/fscontext.jar:') LEVEL(*SYS) 
    
    [JMS 2.0 ]
    
    ADDENVVAR ENVVAR(CLASSPATH)
           VALUE('.:/QIBM/ProdData/mqm/java/lib/com.ibm.mq.jar
           :/QIBM/ProdData/mqm/java/lib/connector.jar:/QIBM/ProdData/mqm/java/lib
           :/QIBM/ProdData/mqm/java/samples/base
           :/QIBM/ProdData/mqm/java/lib/com.ibm.mq.allclient.jar
           :/QIBM/ProdData/mqm/java/lib/jms.jar
           :/QIBM/ProdData/mqm/java/lib/providerutil.jar
           :/QIBM/ProdData/mqm/java/lib/fscontext.jar:') LEVEL(*SYS) 
    
  4. 如果不设置 QIBM_MULTI_THREADED,请发出以下命令:
    ADDENVVAR ENVVAR(QIBM_MULTI_THREADED) VALUE('Y') LEVEL(*SYS)
    
  5. 如果不设置 QIBM_USE_DESCRIPTOR_STDIO,请发出以下命令:
    ADDENVVAR ENVVAR(QIBM_USE_DESCRIPTOR_STDIO) VALUE('I') LEVEL(*SYS)
    
  6. 如果不设置 QSH_REDIRECTION_TEXTDATA,请发出以下命令:
    ADDENVVAR ENVVAR(QSH_REDIRECTION_TEXTDATA) VALUE('Y') LEVEL(*SYS)
    

使用 qshell 环境

如果使用 QSHELL 环境,那么可以在 /home/Userprofile 目录中设置 .profile。 有关更多信息,请参考 Qshell 解释器 (qsh) 文档。

.profile 中指定以下内容。 请注意,CLASSPATH 语句必须位于单个行上,或使用 \ 字符按如下所示分到多个行上。

[Jakarta Messaging 3.0 ]

CLASSPATH=.:/QIBM/ProdData/mqm/java/lib/com.ibm.mq.jar: \
/QIBM/ProdData/mqm/java/lib/connector.jar: \
/QIBM/ProdData/mqm/java/lib: \
/QIBM/ProdData/mqm/java/samples/base: \
/QIBM/ProdData/mqm/java/lib/com.ibm.mq.jakarta.client.jar: \
/QIBM/ProdData/mqm/java/lib/jms.jar: \
/QIBM/ProdData/mqm/java/lib/providerutil.jar: \
/QIBM/ProdData/mqm/java/lib/fscontext.jar: 
HOME=/home/XXXXX
LOGNAME=XXXXX
PATH=/usr/bin:
QIBM_MULTI_THREADED=Y QIBM_USE_DESCRIPTOR_STDIO=I
QSH_REDIRECTION_TEXTDATA=Y
TERMINAL_TYPE=5250
[JMS 2.0 ]

CLASSPATH=.:/QIBM/ProdData/mqm/java/lib/com.ibm.mq.jar: \
/QIBM/ProdData/mqm/java/lib/connector.jar: \
/QIBM/ProdData/mqm/java/lib: \
/QIBM/ProdData/mqm/java/samples/base: \
/QIBM/ProdData/mqm/java/lib/com.ibm.mq.allclient.jar: \
/QIBM/ProdData/mqm/java/lib/jms.jar: \
/QIBM/ProdData/mqm/java/lib/providerutil.jar: \
/QIBM/ProdData/mqm/java/lib/fscontext.jar: 
HOME=/home/XXXXX
LOGNAME=XXXXX
PATH=/usr/bin:
QIBM_MULTI_THREADED=Y QIBM_USE_DESCRIPTOR_STDIO=I
QSH_REDIRECTION_TEXTDATA=Y
TERMINAL_TYPE=5250

通过发出命令 DSPLIBL 确保 QMQMJAVA 库位于库列表中。

如果 QMQMJAVA 库不在列表中,使用命令 ADDLIBLE LIB(QMQMJAVA) 将其添加到列表中。