JMS connections and IBM MQ

Information on the use of IBM MQ as the JMS provider.


Use the bindings transport

If a connection factory has been configured to use the bindings transport, every JMS connection establishes a conversation (also known as an hconn) with IBM MQ. The conversation uses interprocess communication (or shared memory) to communicate with the queue manager.


Use the client transport

When an IBM MQ messaging provider connection factory has been configured to use the client transport, every connection created from that factory will establish a new conversation (also known as anhconn) to IBM MQ.

For connection factories that connect to a queue manager using IBM MQ messaging provider normal mode, it is possible for multiple JMS connections created from the connection factory to share a TCP/IP connection to IBM MQ. For more information see Sharing a TCP/IP connection in IBM MQ classes for JMS.

To determine the maximum number of client channels used by JMS connections at any one time, add up the value of the Maximum connections property for all of the connection factories that point to the same queue manager.

For example, suppose you have two connection factories, jms/CF1 and jms/CF2, that have been configured to connect to the same IBM MQ queue manager using the same IBM MQ channel.

These factories are using the default connection pool properties, which means that Maximum connections is set to 10. If all of the connections are being used from both jms/CF1 and jms/CF2 at the same time, there will be 20 conversations between the application server and IBM MQ.

If the connection factory connects to the queue manager using IBM MQ messaging provider normal mode, then the maximum number of TCP/IP connections that can exist between the application server and the queue manager for these connection factories is:
20/the value of SHARECNV for the IBM MQ channel

If the connection factory is configured to connect using IBM MQ messaging provider migration mode, then the maximum number of TCP/IP connections between the application server and IBM MQ for these connection factories would be 20 (one for each JMS connection in the connection pools for the two factories).

Parent topic: Object pooling in a Java EE environment


Related concepts