JMS handler

The JMS handler delivers outbound integration messages to a JMS-compliant messaging system that supports a JMS queue or topic.

The messaging models have the following characteristics:
  • Point-to-point messaging (one to one): A sender generates messages and places them in a queue. Only one receiver can obtain the message from the queue.
  • Publish-subscribe (one to many): A publisher generates messages and places them in a topic. Multiple subscribers can retrieve messages from the topic.

The messaging system represents a queue or topic that is available on the local application server, on a remote application server, or on a remote dedicated queuing system such as IBM® WebSphere® MQ. To use this handler, enable the messaging systems by using JMS. The messaging system is distinct from the standard internal queues that reside on the local application server.

CONFACTORYJNDINAME property

This required property specifies a Java™ object that is used to create connections to a JMS provider. Before the system can connect to a queue or topic, it must obtain a reference to a connection factory.

DESTINATIONTYPE property

This optional property specifies the JMS destination type; queue or topic. The following table lists the DESTINATIONTYPE options and their associated values.

Destination Value
Topic javax.jms.Topic
Queue javax.jms.Queue

DESTJNDINAME property

This required property specifies the name by which the JMS queue or topic is registered in the application server Java Naming and Directory Interface (JNDI) tree.

CONTEXTFACTORY property

This property specifies the initial context factory class name. The property is not required when the JMS handler is communicating with a JMS provider that shares the same initial context factory as the application server of the handler. When the handler and the JMS provider share an application server, they share the initial context factory class. The context property value is required when the handler and the JMS provider do not share an application server.

ISCOMPRESS property

This required property specifies whether the message is compressed before it is placed it into a queue or topic. Compression is an optimization technique that delivers smaller messages to a queue or topic. The following table lists the ISCOMPRESS options and their associated values.

Option Value
Do not compress data 0
Compress data 1

Compressed messages must be extracted after they are received. Extract the messages by creating the appropriate JMS receiver or subscriber component and placing Java decompression logic within the receiver or subscriber. Use the standard Java Inflater() class that is part of the java.util.zip package. The default compression uses the standard Java Deflator() class.

ISTEXT property

This optional property specifies whether the JMS handler will deliver messages to another queue in text format.

Option Value
Deliver messages in default (bytes) format 0
Deliver messages in text format 1

JMSEXIT property

In a multitenancy environment, customization by using Java classes can be implemented only by the system provider and may not be supported in your environment.

This optional property is used for customization and specifies the fully qualified name of a Java class that runs the JMSExit interface. The Java class must implement the getMessageProperties() method that is defined in the JMSExit interface. The Java class must be in the class path for the application server or in the application EAR file.

You can use this option change or add properties in the JMS message. If this property does not contain a value, the header attributes for the message are not changed when the message is delivered to the external queue or topic.

PROVIDERURL property

This required property specifies a local or remote URL where the JMS provider can be accessed. If the target JMS provider is local to the application server of the handler, the property is not required.

PROVIDERUSER and PROVIDERPASWORD properties

These properties are used for the JMS provider authentication. The properties map to the connectionFactory.createConnection(provideruser,providerpassword) API in JMS.

USERNAME and PASSWORD properties

These properties correspond to the java.naming.security.principal (USERNAME) and java.naming.security.credentials (PASSWORD) properties used for creating the InitialContext object.