Changed Features
The following Universal Messaging features already available in the previous product release have been changed in Universal Messaging 10.15:
C++ Libraries Note the following changes relating to the C++ libraries that Universal Messaging provides:
The C++ libraries for Universal Messaging use OpenSSL libraries that have now been upgraded to version 3.0.5 from version 1.1.1k.
The C++ libraries for Universal Messaging use POCO libraries that have now been upgraded to version 1.11.3 from version 1.10.1.
OS X is no longer supported.
If you experience any problems with the new version of the C++ client libraries for Universal Messaging, first consider recompiling your client applications against the new version of the libraries and compilers.
Defining users exempt from authentication Now you explicitly define users that are exempt from authentication by configuring the -DNirvana.auth.exempt property. Previously, users exempt from authentication were loaded by default from a –DSECURITYFILE file, which is not used any longer.
In addition, exempt users both with and without a password should be able to log in to Universal Messaging. Previously, authentication failed when an exempt user provided an invalid password.
JMX namespaces for topics and queues By default, JMX namespaces are now created using a flat structure, for example, destinationName=/q1/q2/q3. In previous Universal Messaging versions, by default, JMX namespaces for topics and queues have a folder tree structure.
You can use a new realm configuration property, FlatStoreJMXBeanNamespace, to define if JMX namespaces for topics and queues have a flat structure or a folder tree structure.
MaxNoOfConnections realm property A realm configuration property that defines the total number of concurrent connections to a Universal Messaging server. Now a user with
both the
Override Connection Count realm permission and an admin connection can override this property. Previously, users with full permissions could override the property. The change is introduced in Universal Messaging 10.15 Fix 5. For more information about using
MaxNoOfConnections, see
Realm Configuration.
Realm Information Collector The Realm Information Collector command-line diagnostic tool has been enhanced to collect the following additional information about a server:
Java Service Wrapper log files even if you configured an absolute file path for the
wrapper.logfile property in the Sever_Common.conf file.
Log4j2 configuration, and also log files configured through file appenders in the log4j2.xml configuration file.
The log header of the Universal Messaging server.
Queue batching In Universal Messaging 10.15 and higher, the server disregards event batching for queues requested by clients and sets it to 1 event instead. The modified behavior affects Java clients using the com.pcbsys.nirvana.client.nQueueReaderContext.setPeekBatchSize(int) API.
com.pcbsys.nirvana.client.nConstants#setReconnectAfterAccessChange method behavior If you set setReconnectAfterAccessChange(..) to false, if the client receives nSecurityException for cluster formation or for exceeding the connection limit, these exceptions are treated as recoverable and the client will try to reconnect to the Universal Messaging server. For any other security exceptions, the client will make no reconnection attempts.
For more information about setReconnectAfterAccessChange(..), see the com.pcbsys.nirvana.client.nConstants class reference in the Java Client API documentation.
Support for plugins depending on the license type Universal Messaging now supports plugins for all UM license types regardless of the Plugins key value in the license file. Previously, plugin support was available only for the NUMWF/NUMTF license type. The change is introduced in Universal Messaging 10.15 Fix 13.
Server behavior when handling duplicate stores for a store name Starting with Universal Messaging 10.15 Fix 14, the Universal Messaging server does not start if there are duplicate stores for a particular store name present on the server when you work with case-insensitive data folders, for example, on a Windows operating system. Contact Software AG Global Support about how to proceed.
When you start the Universal Messaging server, it checks for duplicate stores and shuts down if it finds such stores, for example, testQueue and TestQueue. The server also writes the following warning message in the nirvana.log file and in the console output: "WARNING: Multiple stores found for store name: <Store name>. Listing the stores for this store name: <Store 1><Store 2>…."
In addition, you can no longer create duplicate stores for a particular store name when you work with case-insensitive data folders.
Base image for Universal Messaging container images Starting with Universal Messaging 10.15 Fix 16, the Universal Messaging container images on the Software AG Container Repository use Red Hat UBI 9 as a base image. Images up to 10.15 Fix 16 use Red Hat UBI 8 as a base image.
Type of store created when using the administration tools or nChannelAttributes constructors Starting with Universal Messaging 10.15 Fix 18, all Universal Messaging command-line administration tools associated with stores (channels and queues) create stores of type Mixed by default. Previously, the tools created stores of type Reliable by default.
In addition, in the Universal Messaging Java client API, the constructors com.pcbsys.nirvana.client.nChannelAttributes.nChannelAttributes() and com.pcbsys.nirvana.client.nChannelAttributes.nChannelAttributes(String name) create mixed stores by default instead of reliable ones.
Also, the methods in nSession and nRealmNode that create channels or queues create mixed stores instead of reliable ones if you do not set the type of the store explicitly.
You can use a new system property on the client side, com.softwareag.um.client.DefaultChannelType, to specify the type of stores created when using the administration tools and the nChannelAttributes constructors. Valid values are mixed, reliable, and persistent.