Developing applications with Java Message Service (JMS)

Java™ Message Service (JMS) is an API that allows application components based on Java EE to create, send, receive, and read messages. JMS support in Liberty is supplied as a group of related features that support the deployment of JMS resource adapters.

JMS can run in a managed mode in which queues, topics, connections, and other resources are created and managed through server configuration. This includes the configuration of JMS connection factories, queues, topics, and activation specifications. Alternatively it can run in unmanaged mode where all resources are manually configured as part of the application. The Liberty embedded JMS provider is managed, and therefore all resources are set up as part of the server.xml configuration.

JMS specifications

The JMS specification level supported in a Liberty JVM server is as follows:
  • JMS 1.1 support (jms-1.1) enables the configuration of resource adapters to access messaging systems by using the Java Message Service AP at the 1.1 specification level.
  • JMS 2.0 support (jms2.0) enables the configuration of resource adapters to access messaging systems using the Java Message Service AP at the 2.0 specification level.

JMS clients

Different JMS client providers are supported in the Liberty JVM server through the following Liberty profile features:
  • WebSphere® MQ JMS 1.1 client (wmqJmsClient-1.1) - the WebSphere MQ JMS client feature allows JMS 1.1 client applications to send and receive messages from a remote MQ server.
  • WebSphere MQ JMS 2.0 client (wmqJmsClient-2.0) - the WebSphere MQ JMS client feature allows JMS 2.0 or 1.1 client applications to send and receive messages from a remote MQ server.

JMS providers

Liberty in CICS® TS supports usage of the: