Configuring IBM WebSphere MQ for access byWebSphere's JNDI namespace

Configure the WebSphere® MQ queues for access by WebSphere's JNDI namespace rather than the typical file URL.

About this task

To configure WebSphere MQ:

Procedure

  1. You should set the shared library path for UNIX and LINUX systems as follows:
    
    set <Shared_Library_Path_Name>=<mqjava_install_path>/lib
    

    where the <Shared_Library_Path_Name> is the shared library path environment variable for your operating system. For example:

    • In AIX® it is LIBPATH.
    • In Linux® it is LD_LIBRARY_PATH.
  2. Modify the <mqjava_install_path>/bin/JMSAdmin.config file as follows:
    
       INITIAL_CONTEXT_FACTORY=com.ibm.websphere.naming.WsnInitialContextFactory
       PROVIDER_URL=CORBAloc:://<WAS_admin_IP_address>:<WAS_bootstrap_port>
       
    
  3. Create an ivtsetup.scp command file that contains the following parameters:
    
       def qcf( <QCFName> ) qmgr(<QManagerName>) transport(CLIENT) host(<ipaddress 
       of Server> ) channel(SYSTEM.DEF.SVRCONN) port( <PORT> ) 
       def q(JNDINameOfQueue) qu(QueueName)
       
    

    In the following example, a QueueConnectionFactory is created with the JNDI name ivtQCF. This QueueConnectionFactory is configured to access the Queue Manager SYSTEM.TEST. Using the 'CLIENT' (network based) transport on the computer 127.0.0.1,through port 1414 (WebSphere MQ default), through the server connection channel named SYSTEM.DEF.SVRCONN (WebSphere MQ default).

    Next, a queue object is created with the JNDI name getATP, which is configured to work with the getATP queue on QueueManager SYSTEM.TEST. (Of course, you must ensure that you have created this queue on the queue manager as well.)

    Finally, an end command is issued to shut down JMSAdmin.

    Note that the .scp file can have any name, but the convention is ivtsetup.scp (ivt=installation verification test).

    
       def qcf(ivtQCF) qmgr(SYSTEM.TEST) transport(CLIENT) host(127.0.0.1) 
       CHANNEL(SYSTEM.DEF.SVRCONN) port (1414)
       
       def q(getATP) qu(getATP) QMGR(SYSTEM.TEST)
       end
        
    
  4. Set the PATH and CLASSPATH in the JMSAdmin script as follows:
    
       MQJAVA_PATH=<path to ma88 installation>
       PATH=$MQJAVA_PATH
       CLASSPATH=$MQJAVA_PATH/lib:$MQJAVA_PATH/lib/com.ibm.mq.jar:$MQJAVA_PATH/lib/
       com.ibm.mqjms.jar:$MQJAVA_PATH/lib/jms.jar
       
    

    For information about WebSphere JARs, see IBM® documentation

  5. Pass the .scp file to the WebSphere MQ JMSAdmin class using the following syntax:
    
       java com.ibm.mq.jms.admin.JMSAdmin < intsetup.scp