« WebLogic Server Resources – My Comprehensive List | Main | Workaround for Using JConsole with WLS 10gR3 JMX »

Hermes JMS – Revisited for WebLogic Server JMS 10gR3

Hermes JMS is an open source JMS Browser created by Colin Crist and hosted on Sourgeforge that works with numerous JMS implementations including WebLogic JMS and Oracle Application Server JMS.  I have written about using Hermes and WebLogic together before so see that entry for an overview.  I have found that this tool works great for me to quickly view/move/delete JMS messages in queues and topics.  This entry is simply an update for the recent version of Hermes 1.13 and WebLogic Server 10gR3.  Here’s a screenshot that highlights just some of the capabilities, click to enlarge.

hermesFeatures 

  • I like using the off-line installation from Sourceforge for reasons that will probably become apparent below, but there is also a Web Start version on the project home page.
  • I found an old comment that I had written that claimed using the same JVM as the WLS server with Hermes helps, so I modify the %HERMES_INSTALL%\bin\hermes.bat file to use JRockit from WLS 10gR3:
SET JAVA_HOME=C:\Oracle\wls10gR3\jrockit_160_05
set PATH=C:\Oracle\wls10gR3\jrockit_160_05\bin
  • Launch Hermes and go to Options->Preferences to add the weblogic.jar to the providers tab, this is nice because presumably I could use multiple WLS versions (I haven’t tried that)

ClasspathGroup

  • Configure a new Session in the GUI.

session 

  • Then right click on the session and select “Discover” and you should have all the destinations available to browse.
  • The Session gets saved in hermes-config.xml (C:\.hermes\hermes-config.xml on my machine) and the relevant snippet looks like this:
        <factory classpathId="weblogic10.3">
            <provider className="hermes.JNDIConnectionFactory">
                <properties>
                    <property name="initialContextFactory" value="weblogic.jndi.WLInitialContextFactory"/>
                    <property name="providerURL" value="t3://localhost:7001"/>
                    <property name="securityCredentials" value="weblogic"/>
                    <property name="binding" value="javax/jms/QueueConnectionFactory"/>
                    <property name="securityPrincipal" value="weblogic"/>
                </properties>
            </provider>
            <connection clientID="" connectionPerThread="false">
                <session audit="false" id="examplesQCF" reconnects="0" transacted="true" useConsumerForQueueBrowse="false"/>
            </connection>
            <destination domain="1" name="weblogic/wsee/DefaultQueue"/>
            <destination domain="1" name="weblogic/examples/ejb30/ExampleQueue"/>
            <destination domain="2" name="weblogic/examples/jms/exampleTopic"/>
            <destination domain="1" name="weblogic/examples/jms/exampleQueue"/>
            <destination domain="1" name="jms/MULTIDATASOURCE_MDB_QUEUE"/>
            <destination domain="2" name="quotes"/>
            <destination domain="2" name="stockTopic"/>
            <extension className="hermes.ext.weblogic.WebLogicJMSAdminFactory">
                <properties/>
            </extension>
        </factory>


    Now you should be ready to browse.  You could also take the alternative route of binding to the Initial Context of the server, which then makes it easy to create multiple Sessions from the Connection Factory objects.  However, I had trouble doing this without editing the hermes-config.xml due to what might be a fluke in the GUI for changing the class-loader provider from System to the WebLogic10.3 one that has the weblogic.jar.  If you have trouble with this you can either edit the hermes-config.xml file to have the correct provider or just add the weblogic.jar to the classpath (so System inherits it).  Good luck with Hermes.

    Post a comment

    (If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)

    About

    james_bayer.jpg

    I am a Senior Sales Consultant covering enterprise customers in and around the Chicago area focusing on middleware and internet technologies. My career began as a Java consultant and architect where I experienced the technology shift toward SOA. I enjoy helping customers solve business problems by applying Oracle technology solutions.

    About This Entry

    This page contains a single entry from the blog posted on February 18, 2009 12:45 PM.

    The previous post in this blog was WebLogic Server Resources – My Comprehensive List.

    The next post in this blog is Workaround for Using JConsole with WLS 10gR3 JMX.

    Many more can be found on the main index page or by looking through the archives.

    Top Tags

    Powered by
    Movable Type and Oracle