Hermes JMS 1.10 review
DownloadHermes is a Swing application that allows you to interact with JMS providers
|
|
Hermes is a Swing application that allows you to interact with JMS providers. Hermes works with any JMS enabled transport making it easy to browse or search queues and topics, copy messages around and delete them. It fully integrates with JNDI letting you discover administered objects stored, create JMS sessions from the connection factories and use any destinations found. Many providers include a plugin that uses the native API to do non-JMS things like getting queue depths (and other statistics) or finding queue and topic names.
WebStart demo with a simple configuration containing an embedded ActiveMQ broker and a single queue and topic. Download some example text messages and FIX messages and send or publish them to ActiveMQ.
You can get the latest stable version from Sourceforge or the latest, less stable, build from HEAD
What's New in This Release:
There is a new SAP JMS plugin and demo - many thanks to Martin Grigorov at SAP for his time and suggestions.
The EMS tutorial has been updated.
There is a new log panel in the Tools dockable frame that lets you view log4j events. By default none are displayed but you can start, stop and clear the events. The logging levels are inherited from your log4j configuration.
Searching for messages now includes ObjectMessage support - Hermes searches on the result of toString(). Any exceptions are logged but otherwise ignored.
Selection of multiple objects in trees and tables has been been improved.
Workarounds for TIBCO EMS connection factories lack of JavaBean compliance have been put in place. Hermes checks for missing matching get/set methods (EMS provides one and not the other) and uses cglib to fill in the gaps. Previously Hermes had many strange issues configuring remote EMS servers. You must still however set the username and password on both the plugin and the connection factory. See $HERMES_HOME/cfg/vars-hermes-config.xml for an example configuration. I hope to fix this shortly.
The WMQ plugin was not correctly supporting JMS destination names with properties in, e.g. queue://Q1?targetClient=1.
The message header property table is now sortable.
JIDE has been upgraded to 1.8.6.01
A new configuration option CopyProviderProperties selects whether user header properties starting with JMS should be copied, e.g. during drag and drop, to/from a file and to/from a message store. You can set this via the Options->Configuration->General dialog. Some providers seem to allow this and others do not so only change it if you know what you want.
New configuration option on the session Use Consumer will use a message consumer to perform queue browsing. Messages will be read but not acknowledged until a timeout on the read occurs. The timeout is in the Configuration->General dialog as ConsumerTimeoutWhenQueueBrowsing and defaults to 10 seconds. This is especially useful if you have many messages on a queue (10000s) and your providers queue browser implementation retreives all messages in one large batch (e.g. JBossMQ).
There is a new property on the WebSphereMQ admin plugin to let you set reason codes whose exceptions you want to ignore. You set the logExclude property with a comma separated list of reason codes. See also here. It is only supported from WMQ 5.3.
Installation is now via IzPack
Hermes JMS 1.10 keywords