Set up IBM MQ on IBM i with Java and JMS
This collection of topics gives an overview of how you set up and test IBM MQ with Java and JMS on IBM i using CL commands or the qshell environment.
Note: From IBM MQ Version 8.0, ldap.jar, jndi.jar and jta.jar are part of the JDK.Use CL commands
The CLASSPATH that you set, is for testing with MQ base Java, JMS with JNDI, and JMS without JNDI.
If we do not use a .profile file under your /home/Userprofile directory, we will need to set the system level environment variables below. We can check to see if they are set using the WRKENVVAR command.- To view the environment variables for the entire system issue the command: WRKENVVAR LEVEL(*SYS)
- To view the environment variables specific to your job issue the command : WRKENVVAR LEVEL(*JOB)
- If the CLASSPATH is not set, do the following:
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.mqjms.jar :/QIBM/ProdData/mqm/java/lib/jms.jar :/QIBM/ProdData/mqm/java/lib/providerutil.jar :/QIBM/ProdData/mqm/java/lib/fscontext.jar:') LEVEL(*SYS)
- If QIBM_MULTI_THREADED is not set, issue the following command:
ADDENVVAR ENVVAR(QIBM_MULTI_THREADED) VALUE('Y') LEVEL(*SYS)
- If QIBM_USE_DESCRIPTOR_STDIO is not set, issue the following command:
ADDENVVAR ENVVAR(QIBM_USE_DESCRIPTOR_STDIO) VALUE('I') LEVEL(*SYS)
- If QSH_REDIRECTION_TEXTDATA is not set, issue the following command:
ADDENVVAR ENVVAR(QSH_REDIRECTION_TEXTDATA) VALUE('Y') LEVEL(*SYS)
Use the qshell environment
If you use the QSHELL environment, we can set up a .profile in your /home/Userprofile directory. For more information reference the Qshell Interpreter (qsh) documentation.
Specify the following in the .profile. Note that the CLASSPATH statement must be on a single line, or separated onto different lines using the \ character as shown.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.mqjms.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
Ensure that the QMQMJAVA library is in the library list by issuing the command DSPLIBL.
If the QMQMJAVA library is not in the list, add it using the following command: ADDLIBLE LIB(QMQMJAVA)
- Testing IBM MQ on IBM i with Java
How you test IBM MQ with Java using the MQIVP sample program. - Testing IBM MQ on IBM i with JMS
How you test IBM MQ with JMS with and without JNDI
Parent topic: Developing JMS and Java applications