2.10 Setup for Universal Messaging - jmstoolbox/jmstoolbox GitHub Wiki

Software AG Universal Messaging

http://um.terracotta.org/index.html#page/universal-messaging-webhelp%2Fco-um_all_overview.html%23 http://um.terracotta.org/index.html#page/universal-messaging-webhelp%2Fto-nativeprotocols.html%23

Limitation

JMS vs non-JMS message interoperability in UniversalMessaging

Universal Messaging offer some level of interoperability between native UM messages and JMS, but not 100%. This is explained on the following official documentation page

The consequence on a JMS client like JMSToolBox are that:

  • a message created from a non JMS client can be browsed in JMSToolBox but not "removed" from a destination, as no required JMS specific headers are attached to the native message. The UM client does not add those headers. JMSToolBox uses a selector with the "JMSMessageID" header to remove a specific Message. All messages created with a non JMS client are viewed as JMS ByteMessages in JMSToolBox (All all other JMS clients)
  • a message created from a JMS client (like JMSToolBox) will be created with all the required JMS headers and so JMSToolBox will work at 100% when dealing with this kind of messages
  • JMS Specifications require that values for the JMSMessageIDheader starts with an "ÌD:" prefix. UM does not enforce that. The UM JMS client artificially adds this prefix when reading the value but it is not stored this way in UM. The consequence is that the ID: prefix must be removed when using a selector on the "JMSMessageID" header. JMSToolBox has been internally changed to adapt to this situation for deleting message

Extra JAR

From the "UniversalMessaging/lib" directory:

  • nAdminAPI.jar
  • nClient.jar
  • nJMS.jar

Connection Properties

Host : Universal Messaging server host name
Port : Universal Messaging port (eg 9000)
User, Password : User allowed to connect to the server

Properties

protocol : Protocol to connect to the server (from 'nsp','nhp','nsps','nhps')
ssl_protocol : SSL Protocol (eg 'TLSv1')
ssl_enabled_ciphers : Enabled Ciphers
ssl_keyStore_path : Key store filename (eg D:/somewhere/key.jks)
ssl_keyStore_password : Key store password (For client certificate validation)
ssl_keyStore_certificate : Certificate name in key store (For client certificate validation)
ssl_trustStore_path : Trust store filename (eg D:/somewhere/trust.jks)
ssl_trustStore_password : Trust store password