Using the IBM MQ resource adapters

The IBM® MQ resource adapters allow applications that are running in an application server to access IBM MQ resources. The resource adapters support inbound and outbound communication.

What the resource adapters contain

[MQ 9.3.0 Jun 2022][MQ 9.3.0 Jun 2022]From IBM MQ 9.3.0, Jakarta Messaging 3.0 is supported for developing new applications. IBM MQ 9.3.0 continues to support JMS 2.0 for existing applications. In addition to the resource adapter that supports Java EE and JMS 2.0, IBM MQ 9.3.0 provides a resource adapter that supports Jakarta Messaging.
[Jakarta Messaging 3.0]IBM MQ resource adapter for Jakarta Messaging
The Jakarta Connectors Architecture provides a standard way of connecting applications that are running in a Jakarta EE environment to an Enterprise Information System (EIS) such as IBM MQ or Db2®. The IBM MQ resource adapter for Jakarta Messaging implements the Jakarta Connectors 2.0.0 interfaces and contains the IBM MQ classes for Jakarta Messaging. It allows Jakarta Messaging applications and message driven beans (MDBs) running in an application server, to access the resources of an IBM MQ queue manager. The resource adapter supports both the point-to-point domain and the publish/subscribe domain.
[JMS 2.0]IBM MQ resource adapter for JMS 2.0
The Java Platform, Enterprise Edition Connector Architecture (JCA) provides a standard way of connecting applications that are running in a Java EE environment to an Enterprise Information System (EIS) such as IBM MQ or Db2. The IBM MQ resource adapter for JMS 2.0 implements the JCA 1.7 interfaces and contains the IBM MQ classes for JMS. It allows JMS applications and message driven beans (MDBs), running in an application server, to access the resources of an IBM MQ queue manager. The resource adapter supports both the point-to-point domain and the publish/subscribe domain.
The IBM MQ resource adapter supports two types of communication between an application and a queue manager:
Outbound communication
An application starts a connection to a queue manager, and then sends JMS messages to JMS destinations and receives JMS messages from JMS destinations in a synchronous manner.
Inbound communication
A JMS message that arrives at a JMS destination is delivered to an MDB, which processes the message asynchronously.

The resource adapter also contains the IBM MQ classes for Java. The classes are automatically available to applications that are running in an application server that the resource adapter has been deployed into, and allow applications that are running in that application server to use the IBM MQ classes for Java API when they are accessing resources of an IBM MQ queue manager.

The use of the IBM MQ classes for Java within a Java EE environment is supported with restrictions. For information about these restrictions, see Running IBM MQ classes for Java applications within Java EE.

Which version of the resource adapter to use

[MQ 9.3.0 Jun 2022][MQ 9.3.0 Jun 2022]The version of the resource adapter that you use depends on whether you are deploying it into an application server that supports Jakarta EE or Java EE:

[MQ 9.3.0 Jun 2022][MQ 9.3.0 Jun 2022][Jakarta Messaging 3.0]Jakarta EE
From IBM MQ 9.3.0, Jakarta Messaging 3.0 is supported. The IBM MQ resource adapter for Jakarta Messaging must be deployed within an application server that supports Jakarta EE.
Java EE 7
The IBM MQ 8.0 and later resource adapter supports JCA v1.7 and provides JMS 2.0 support. This resource adapter needs to be deployed within a Java EE 7 and later application server (see IBM MQ resource adapter statement of support).
You can install the IBM MQ 8.0 or later resource adapter on any application server that is certified as compliant with the Java Platform, Enterprise Edition 7 specification. Using the IBM MQ 8.0 or later resource adapter, an application can connect to a queue manager using either the BINDINGS or CLIENT transport.
Important: The IBM MQ 8.0 or later resource adapter can be deployed only into an application server that supports JMS 2.0.

Using the resource adapter with WebSphere Application Server

From IBM MQ 9.0, the IBM MQ resource adapter is pre-installed within WebSphere® Application Server 9.0 or later. Therefore, there is no requirement to install a new resource adapter.

[Jakarta Messaging 3.0] WebSphere Application Server does not currently support Jakarta EE. See IBM MQ resource adapter statement of support.

Note: An IBM MQ 9.0 or later resource adapter can connect in CLIENT or BINDINGS transport mode to any in-service IBM MQ queue manager.

Using the resource adapter with WebSphere Liberty

To connect to IBM MQ from WebSphere Liberty, you must use the IBM MQ resource adapter. Since Liberty does not contain the IBM MQ resource adapter, you must obtain it separately from Fix Central.

[MQ 9.3.0 Jun 2022][MQ 9.3.0 Jun 2022]The version of the resource adapter that you use depends on whether you are deploying it into a version of Liberty that supports Jakarta EE or Java EE.

For more information about how to download and install the resource adapter, see Installing the IBM MQ resource adapters.