1.10 changes since build 120406
- There is a new ActiveMQ plugin.
- A new ORACLE OEMS plugin and tutorial have been added.
- There is improved support for FIX and a new tutorial.
- Jython has been integrated letting you run Jython scripts from the Jython console.
- jamsel has been integrated to give SQL92 filtering to JMS and FIX messages in memory.
- OpenJMS plugin has been extended to locate durable subscriptions.
- Message rendering has been refactored internally.
1.10 build 120406 changes since build 221005
- 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 cglibto 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 ConsumerTimeoutWhenQueueBrowsingand 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
1.10 build 221005 changes since build 030905
- More fixes for EMS, a kind of dynamic mixin is generated to fill in the lack of getter methods on the connection factories. This basically now means you can configure and use EMS in any configuration, not just the default. 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.
- When the number of browsed messages was greater than Configuration->MaxCachedMessages the table model was not being properly maintained leading to AIOOB exceptions and repaint problems.
- The startup scripts check for the VM to be at least 1.5, you may need to disable this on some platforms.
- The variable hermes.home is always available in the configuration which maps to where Hermes is running from. This is useful to package up dependent JMS provider JARs with your own Hermes installation and reference them relative the wherever a user installs Hermes.
- The system look and feel was inadvertently being set during startup before checking the swing.defaultlandf property.
1.10 build 030905 changes since 1.9.4
- If a provider was restarted during a queue or topic browse the connection was not being reconnected properly.
- Removing a queue or topic from a session was leaving the old config still cached meaning it would incorrectly show up in the ReplayTo menu.
- JIDE has been upgraded to 1.8.2.01
- When browsing a message store the messages are now odered by their original JMSTimestamp
- The message store implementation is now fully multithreaded.
- There is a new ant task that replays messages from a JDBC message store.
- Durable topics support has been implemented.
- The hermes.disableNameInNamespaceCheck system property is no longer needed, Hermes now checks to see if the JNDI provider supports this operation dynamically.
- Hermes can now discover the correct domain of queues and topics with WebLogic, no need to set the domain manually any longer.
- Where a provider supports a durable subscription pending messages statistic, you can get this and watch the depth as if it were a queue.
- EMS now gives the depth of messages pending for a durable subscription so you can monitor them with a watch just like a queue.
- JBoss and EMS now implement truncation of queues natively.
- EMS implements truncation of messages pending for a durable subscription natively.
- During startup Hermes now checks to see if the config is any URL before falling back to trying to load from a file, previously it checked the URL to be http so not allowing others such as ftp or https.
- When setting user properties for JNDI, you can also references them via a URL as well as a file. This is to better support WebStart. Use userPropertiesURL instead of userPropertiesFile.
- You can have more than one database for use as a message store however currently only Derby/Cloudscape is supported in embedded mode. Support for a multi-user message store will be added if there is enough user demand.
- Message selector support has been added and there is a tutorial here.
- Durable subscription support has been added and there is a tutorial here.