Browsing Messages on Solace using HermesJMS

From time to time we get asked from Customers how they can browse messages, and message payloads specifically, from durable topics and queues. This can be from application topics and queues, but more often than not it’s from Dead Message Queues.

Whilst our SolAdmin management application for Solace message routers can be used to view how many messages are sitting in a given durable topic or queue, you may only view characteristics and properties of a message such as for example the date it was spooled, the size of the message, or any of the message properties.

That is where a tool like HermesJMS comes into play. HermesJMS is an open source graphical user interface for working with JMS Providers that allows you to browse JMS topics and queues. Whilst we acknowledge that HermesJMS isn’t actively contributed to these days, the tool is still widely used by many people for the purpose that it was developed for in the first place.

So, how then do I get a copy of HermesJMS running my machine if it’s not actively maintained anymore, you ask? Well the team over at SmartBear who developed SoapUI, an open source functional testing tool for API testing, bundle a working copy of HermesJMS into SoapUI to allow their users to work with JMS messages. SoapUI is available in both free and pro editions with HermesJMS being bundled into both of them. You can download a copy of SoapUI here and make sure you leave the option to install HermesJMS during the installation process.

Once you have SoapUI installed, jump on over to our Solace integration guides and open up the HermesJMS guide here. It gives you all the information you need to configure HermesJMS with a Solace JMS Session and start browsing messages.

Here are some key points about using HermesJMS from within SoapUI that:

  1. Launching HermesJMS from within SoapUI
    Once you have SoapUI up and running, you can launch HermesJMS from the Tools menu and select HermesJMS.
    soapui-start-hermesjms
  1. Modify HermesJMS Startup
    The Solace integration guide asks you to configure the HermesJMS setup by adding a Java JVM Argument that is required successfully integrate with Solace. When using HermesJMS bundled with SoapUI, here are details of how to go about making this change on both Windows and Mac.Windows
    Edit hermes.bat in your favourite text editor from “C:\Program Files\SmartBear\SoapUI-5.3.0\hermesJMS\bin” and add the Java JVM Argument as shown here:
    soapui-modify-hermesjms-startup-windows
    Mac
    Open the Applications directory in Finder. Right-click on the SoapUI icon and select “Show Package Contents”. Go into the Contents folder and edit vmoptions.txt with your favourite text editor and add the Java JVM Argument as shown here:
    soapui-modify-hermesjms-startup-mac

For those of you that may be unfamiliar with configuring Solace JNDI objects, like JMS Connection Factories or JMS Queues, then head on over to our documentation here and read all about it. You will need to have JMS Connection Factories and JMS Topic or Queue objects created in Solace that you connect to from HermesJMS. These can either be crated from the Solace CLI or SolAdmin. Here are some screenshots that show these objects created in SolAdmin.

solace-jmsadmin-connfactory
solace-jmsadmin-queue
And if you’re a complete newbie to Solace, head on over to our downloads page and get yourself a copy of the Solace Virtual Message Router Community Edition and try it out for yourself.

Here is the end result, a screenshot showing you HermesJMS in action connected to Solace and browsing messages from a JMS Queue.

soapui-modify-hermesjms-startup-windows
So, what are you waiting for? Give it a try for yourself today!