WebSphere Connection Options

Which transport type should I use when connecting to WebSphereMQ? Is WMQInitialContextFactory supported?

 

First off, please note that WebSphereMQ Java client JARs must be installed separately in all cases as we're not permitted to ship them with MagooClient or MagooServer due to licensing restrictions. These are typically found in the java/lib directory of your WebSphere MQ installation. For the native transport case, a full MQ client installation can be avoided - simply copy the necessary JARs to the MagooClient machine (subject to the terms of your IBM license of course).

 

If you wish to connect to queues then the WebSphereMQ Native transport provides a straightforward way to do this as no JNDI configuration is required - simply specify the host, port, QueueManager, Channel and Queue name. The host can either be local or remote.

 

For topics, a JMS approach is required as there is no Base class implementation available. The WebSphere JMS transport uses a File System Context (fscontext) by default and you will need to configure your JNDI accordingly using the WebSphere MQ Explorer before attempting to connect. Please see the blueprint for more details.

 

JNDI connection using the WMQInitialContextFactory is possible for the WebSphere JMS transport. However this approach offers little value over using the Native transport as it restricted to queues. WMQInitialContextFactory effectively turns the MQ Server SYSTEM.DEF.SVRCONN queue into a JNDI repository to allow the QueueManager name to be used as the 'ConnectionFactory' and a physical queue name to be used as the 'Destination'. Also note that the IBM ME01 support pac is required as the mqcontext.jar also needs to be added as a required JAR in order for this approach to work.