What's New In Universal Messaging 9.10
Universal Messaging 9.10 is the successor of Universal Messaging 9.9.
Universal Messaging 9.10 includes new features, enhancements, and changes as described in the following topics.
Docker support
A Universal Messaging Packaging Kit for Docker is now part of the standard Universal Messaging installation on Linux. The kit was previously available only on TECHcommunity.
The Universal Messaging Packaging Kit can be found here:
<SAG Install Folder>/UniversalMessaging/server/<UM Server Name>/bin/docker
The kit includes the following Docker tools:
Dockerfile for creating a Docker image from the Universal Messaging installation on Linux.
Samples showing how to start the Universal Messaging server from the Docker image and run the sample applications of Universal Messaging within the image.
The TradeSpace demo application shows how to use 'docker-compose' to set up and run the TradeSpace demo of Universal Messaging.
Note:
This delivery method can change in later releases of Universal Messaging.
Optimized persistent store
There is a new form of persistent store, enabled by setting the spindle size to a value greater than zero. This store format uses multiple files for each channel or queue and removes the overhead of Universal Messaging which has to "perform maintenance" on them. This new mechanism also allows stores to grow without any restriction on the JVM heap. The standard persistent store mechanism keeps an in-memory index which grows each time a message is added.
Improved Handling of Maximum Message Size
In previous releases, Universal Messaging restricted the maximum message size that the server will read in by the MaxBufferSize configuration property. Exceeding this value would cause the connection to be disconnected, but the message had already been sent over the network and the reason for the disconnection was not obvious to the client. This check by the server remains but Universal Messaging now has a client side check so that the message is rejected before it is sent over the network and the user can handle the exception.
Clients can “follow the master node”
Clients can now be enabled to "follow the master" in a cluster. The client will initially connect to a server in the cluster but if that server is not the master, the client will be redirected to the master node. Connecting to the master node can provide better performance in some use cases.
Transactions over AMQP
The AMQP specification defines a number of transactional operations. Universal Messaging now supports AMQP transacted operations so that client applications can perform transactional work when communicating with the realm server over AMQP. For example, if an application communicates to the realm server using a JMS AMQP client library (e.g. Apache Qpid JMS client) it can take advantage of the local transaction functionalities defined in the JMS specification.
Universal Messaging does not currently support the AMQP Transactional Acquisition operation. However, this sets no limitations on using JMS transactions over AMQP.
Configuration profiles in Installer
It is now possible to select different configuration profiles using the Software AG Installer. We have provided two configurations: one tuned for typical webMethods use cases and one tuned for standalone use cases.
JNDI asset configuration in Command Central
Command Central now supports the creation and maintenance of JNDI connection factories, queues, and topics for Universal Messaging. These assets can be managed through the Command Central web user interface, command line interface, REST API, and within templates.
Enterprise Manager handles realm name conflicts more gracefully
You can no longer connect to a realm with the same name as the realm to which you are already connected. Enterprise Manager now shows the host and port in the realm tree to make it clear which realm is being referenced.
Additional sample applications
New sample applications are included that can be used to:
Create clusters
Create server interfaces
Manage security groups
Additional documentation
Various items have been added to the product documentation:
The documentation has been updated with a guide helping you configure your JVM in order to support FIPS 140-2.
The documentation now includes best practice guidelines helping you to configure Universal Messaging to have separate interfaces for client and cluster communication. The guide describes how to restrict regular client communication but allow administrators to connect when a cluster is forming.
Documentation is also provided describing the API's setMessageType() method that allows a client to convert a JMS message back to its original type.
Removal of Standalone Installer
Universal Messaging can no longer be installed using its own standalone Installer. It can now only be installed using the standard Software AG Installer or Command Central.