Category Archives: Misc

HermesJMS console to monitor JMS resources

HermesJMS is an
extensible console that helps you interact with JMS providers 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.

The main advantage of the tool is the ability to work with many JMS Providers like JBOSS MQ, ActiveMQ,  OpenJMS, Weblogic, Webspehere etc etc. It also supports the FIX protocol messages which gives a full advantage to all financial vertical applications.

HermesJMS is a java swing based tool.

Follow the below steps to install and use the tool to monitor the JMS resources.

1.  Download Link.

2. Open Command Console and type the below command to run the execuatable installer jar.

java –jar hermes-installer-1.13.jar

now it will start the installation process. Follow the installation wizard and finsh.

3. Go to Start -> program files -> hermes -> hermesJms

4 Now it will open the GUI of HermesJMS.

5 On left side Under ” Sessions” -> right click on “session” -> new session

6 And configure the Screen with Weblogic JMS Provider info.  You will find tabs in the bottom i.e session, provider etc

-> First of all click on Provider Tab and add Weblogic jar.

-> Click on Session Drop Down(on top) and type “Weblogic

-> Select the BEA Weblogic plugin from the drop down of plugin and add the properties.(you can skip the properites part as it will also work)

-> On Connection Factory drop down, select the hermes.JNDIConnectionFactory class and also select the loader “weblogic“, And then add the properties of the Connection factory. This is mandatory to discover the JMS resources of the selected provider.
(see the below screen shot for the high level information)

Now close the dialog box.

-> On the left side right click on your “weblogic” session and click “discover“. You get a meesage to add the resources into the session click “yes”.

-> now you will see all the topics and queues beaneth your cofigured session. Right click on any the resource and click “Browse”, you will notice the message details on the right side.

You can also view the configuration on the HermesJSM website.”.

Hope this helps.

R Vashi

EJB vs Web Services vs JMS


In Today’s world distributed applications has become the backbone of many businesses. They have removed the barriers of communication in terms of data exchange, information availability etc.

The major player have been introduced on Sun Java Implementation and accepted widely in many bigger enterprise level applications.

In this post I will try to highlight few of the things which we should keep in mind while choosing over EJB or Web Services or JMS.


EJB(will cover some basic features)
– provide developers architectural independence
– WODA (Write Once Deploy Anywhere)
– provides Distributed Transaction support
– contains only pure business logic

Weak Points
– Increase the development time.
– Sometime leads to complex implementation


JMS is a technique for loose coupling. As an example, it does not provide security or transactional binding with the target systems, but only with the message middleware. Messaging in general achieves loose coupling because:
• Message producers and consumers interact through the messaging transport (such as a message broker) in a point-to-point or publish/subscribe model.
• A technical header is usually provided independently of the business payload.

JMS is well-suited for:
• Integrating systems/components that participate in business events.
• Integrating slow responders.
• Integrating existing systems.

Weak Points:
–  Can communicate with Java Platform only.
–  Limited Transactional Support


Web Services
– They can be tightly coupled, and their deployment can be based on the use of invocation frameworks.
– They can perform either in a synchronous request/reply mode or in an asynchronous mode.
– They can be exposed by J2EE or non-J2EE providers.

Weak Points:
–  Web services use plain text protocols that use a fairly verbose method to identify data. This means that Web service requests are larger than requests encoded with a binary protocol.

–  Typically, a server sends some kind of session identification to the client when the client first accesses the server. The client then uses this identification when it makes further requests to the server. This enables the server to recall any information it has about the client. A server must usually rely on a timeout mechanism to determine that a client is no longer active. If a server doesn’t receive a request from a client after a predetermined amount of time, it assumes that the client is inactive and removes any client information it was keeping. This extra overhead means more work for Web service developers.

There are many things which we can further explore before making any final decision to pick these technologies. I have just tried to give some high level information related.

R Vashi