JMS
Consider whether to incorporate JMS providers into your solution.
If a third-party JMS provider is part of your solution, you can map JMS queues and topics to Diffusion™ topics by using the Diffusion JMS adapter.
We support integration with JMS providers that conform to version 1.1 or later of the JMS specification.
- Apache ActiveMQ v5.11
- IBM MQ v8
Why use a third-party JMS provider
If you are already using a JMS provider to move data in your internal system, you can integrate it with Diffusion to distribute that data to clients and users outside of your organization.
Diffusion JMS adapter
Running the JMS adapter in the Diffusion server or as a standalone application
- Within the Diffusion server
- The JMS adapter can be configured to run as part of the Diffusion server process. A JMS adapter running within the Diffusion server cannot become disconnected from the Diffusion server.
- As a standalone client
- The JMS adapter is a Java™ application that can be run on any system and acts as a client to the Diffusion server. Topics created by the JMS adapter running as a standalone client are not deleted from the Diffusion server if the JMS adapter becomes disconnected. You can use this capability to design a highly available solution.
For more information, see JMS adapter.
Considerations when using the JMS adapter
Topics defined and created by the JMS adapter when it runs within the Diffusion server are removed when the JMS adapter is stopped.
Topics defined and created by the JMS adapter when it runs as a standalone client are not deleted from the Diffusion server when the JMS adapter client session is closed.
The JMS adapter supports interaction with Diffusion topics that are either stateful (single value) or stateless topics.
Only textual content and JMS TextMessages are supported. Binary content is not currently supported.
You cannot currently publish data to a Diffusion topic and have it sent to a JMS destination.
Data must be transformed between JMS messages and Diffusion content.
If multiple Diffusion servers subscribe to the same JMS queue in a request-response scenario, there is the risk of one server consuming messages intended for another server. Use JMS selectors to ensure that the JMS adapter only receives those messages intended for it.
The creation of temporary queues and topics by the JMS adapter is not currently supported.
Durable subscriptions are not supported.
JMS transactions are not supported.
The only acknowledgment mode that is supported is AUTO_ACKNOWLEDGE.
Session properties are not currently supported. The exception is the $Principal property.