The Java Messaging Service (JMS) is a Java messaging framework for providing communication between two or more systems. In this framework, a JMS provider manages a queue of messages sent by JMS clients. A typical JMS message has the following path:
A JMS client sends the message to a JMS provider.
The JMS provider sends the message to another JMS client.
With interoperability productions, InterSystems products can be a JMS client that both sends and receives JMS messages. InterSystems JMS clients use the EnsLib.JMS.Operation business host to send messages to JMS providers and the EnsLib.JMS.Service business host to receive messages from JMS providers. Advanced users who are familiar with ObjectScript can create their own custom JMS business hosts rather than using these built-in components.
The JMS feature is available in Ensemble 2018.1.2 and later. For the release note related to this feature, see Caché & Ensemble Maintenance Release Changes (2018.1.2).
Within the JMS client’s interoperability production, the JMS messages are EnsLib.JMS.Message objects. The text property of message object contains the message content. The type property of the message object specifies the message type such as TextMessage and BytesMessage. The EnsLib.JMS.Message class also provides methods for setting and retrieving properties of the message.
InterSystems Java Gateway
InterSystems’ support for JMS messaging relies on the InterSystems Java Gateway. The easiest way to set up the Java Gateway is to add the EnsLib.JavaGateway.Service business host to the JMS client’s interoperability production. Once added, the Java Gateway automatically starts when the production is started and stops when the production is stopped. For more information about the Java Gateway, see Using the Java Gateway.
The jar file for the JMS feature is available at: install-dir\dev\java\lib\JDK18\cache-enslib-jms-2.0.0
The following client development jar files are also available: