Use IBM MQ classes for JMS
IBM MQ classes for Java Message Service (IBM MQ classes for JMS) is the JMS provider that is supplied with IBM MQ. As well as implementing the interfaces defined in the javax.jms package, IBM MQ classes for JMS provides two sets of extensions to the JMS API.
The JMS specification defines a set of interfaces that applications can use to perform messaging operations. The latest version of the specification is JMS 2.0. The javax.jms package defines the JMS interfaces, and a JMS provider implements these interfaces for a specific messaging product. IBM MQ classes for JMS is a JMS provider that implements the JMS interfaces for IBM MQ.
The JMS specification expects ConnectionFactory and Destination objects to be administered objects. An administrator creates and maintains administered objects in a central repository, and a JMS application retrieves these objects using the Java Naming Directory Interface (JNDI). IBM MQ classes for JMS supports the use of administered objects, and an administrator can use either the IBM MQ JMS administration tool or IBM MQ Explorer to create and maintain administered objects.
IBM MQ classes for JMS also provides two sets of extensions to the JMS API. The main focus of these extensions concerns creating and configuring connection factories and destinations dynamically at run time, but the extensions also provide function that is not directly related to messaging, such as function for problem determination.
- The IBM MQ JMS extensions
- Previous releases of IBM MQ classes for JMS contain extensions that are implemented in objects such as MQConnectionFactory, MQQueue, and MQTopic objects. These objects have properties and methods that are specific to IBM MQ. The objects can be administered objects, or an application can create the objects dynamically at run time. This release of IBM MQ classes for JMS maintains these extensions, which are now known as the IBM MQ JMS extensions. We can continue to use, without change, any applications that use these extensions.
- The IBM JMS extensions
- This release of IBM MQ classes for JMS provides a more generic
set of extensions to the JMS API, which are not
specific to IBM MQ as the messaging system. These
extensions are known as the IBM
JMS extensions and have the following broad objectives:
- To provide a greater level of consistency across IBM JMS providers
- To make it easier to write a bridge application between two IBM messaging systems
- To make it easier to port an application from one IBM JMS provider to another
The extensions provide function that is similar to that provided in IBM Message Service Client for C/C++ and IBM Message Service Client for .NET.
From IBM MQ Version 8.0, the IBM MQ classes for JMS are built with Java 7.
The Java 7 runtime environment supports running earlier class file versions.
- Why should I use IBM MQ classes for JMS?
Using IBM MQ classes for JMS has a number of advantages including being able to reuse any existing JMS skills in your organization, and applications being more independent from the JMS provider and the underlying IBM MQ configuration. - Prerequisites for IBM MQ classes for JMS
This topic tells you what we need to know before using IBM MQ classes for JMS. To develop and run IBM MQ classes for JMS applications, we need certain software components as prerequisites. - Installing and configuring IBM MQ classes for JMS
This section describes the directories and files that are created when you install IBM MQ classes for JMS and tells you how to configure IBM MQ classes for JMS after installation. - Obtaining the IBM MQ classes for JMS separately
The IBM MQ classes for JMS are available within a self-extracting JAR file that we can download from Fix Central if we want to obtain just the IBM MQ classes for JMS JAR files, for deployment into a software management tool, or to use with stand-alone client applications. - Allowlisting in IBM MQ classes for JMS
Java object serialization and deserialization mechanism has been identified as a potential security risk. Allowlisting in IBM MQ classes for JMS provides some protection against some serialization risks. - Character string conversions in IBM MQ classes for JMS
From IBM MQ Version 8.0, some of the default behavior regarding character string conversion in the IBM MQ classes for JMS has changed. - Writing IBM MQ classes for JMS applications
After a brief introduction to the JMS model, this topic provides detailed guidance on how to write IBM MQ classes for JMS applications. - IBM MQ classes for JMS Application Server Facilities
This topic describes how IBM MQ classes for JMS implements the ConnectionConsumer class and advanced functionality in the Session class. It also summarizes the function of a server session pool. - Use IBM MQ classes for JMS in a CICS OSGi JVM server
Standards-based messaging support for applications that run within the CICS Open Services Gateway initiative (OSGi) Server environment is provided through the use of IBM MQ classes for JMS. - Use IBM MQ classes for JMS in a CICS Liberty JVM server
From IBM MQ Version 9.1.0, Java programs running in a CICS Liberty JVM server can use the IBM MQ classes for JMS to access IBM MQ. - Use IBM MQ classes for JMS in IMS
Standards-based messaging support within an IMS environment is provided through the use of IBM MQ classes for JMS. - IBM MQ classes for JMS
Parent topic: Developing JMS and Java applications
Related concepts
Related information