MQ Session not transacted/delete not working

Help
insitedata
2004-08-25
2004-08-26
  • insitedata
    insitedata
    2004-08-25

    Ive been using Hermes for a few days with MQ Series and I really like it. However, I have noticed two, possibly related, issues that Id like to resolve that I assume are related to my configuration.

    First, I can see my MQ queues ok and I can assign watches to the queues so I know Im connected. However, the preferences dialog for that session do not show the transacted checkbox marked. In addition, when I try to delete a message from the queue, the log writes a warning message indicating the Queue is not transacted. Would this be a problem with my hermes configuration or possibly something related to our MQ installation? The only difference I see from my install and the example on the web site is that Im connecting to a queue on a different server. I connect to the queue from WebSphere Studio without problem from my workstation. Would I need to include a directory in my path as well?

    Ive included my config and batch files below.

    Thanks in advance,

    Dave

    Error message I see in the log:

    2004-08-23 14:56:07,812 [Hermes ThreadPool-3] WARN  hermes.impl.DefaultHermesImpl - session XYZ_QUEUE is not transacted

    Batch file:

    echo off
    SET JAVA_HOME=C:\j2sdk1.4.2_04
    set HERMES_HOME=C:\Programs\SourceForge\hermes\hermes-v1.6
    cd %HERMES_HOME%\bin
    set LIBS=%HERMES_HOME%\lib
    set PROVIDER_EXT=%PROVIDER_EXT%;C:\IBM\WSADv5.1.1\runtimes\base_v51\mqjms\Java\lib\com.ibm.mq.jar;
    set PROVIDER_EXT=%PROVIDER_EXT%;C:\IBM\WSADv5.1.1\runtimes\base_v51\mqjms\Java\lib\com.ibm.mqbind.jar;
    set PROVIDER_EXT=%PROVIDER_EXT%;C:\IBM\WSADv5.1.1\runtimes\base_v51\mqjms\Java\lib\com.ibm.mqjms.jar;
    start %JAVA_HOME%\bin\javaw -classpath %LIBS%\jax-qname.jar;%LIBS%\relaxngDatatype.jar;%LIBS%\jaas.jar;%LIBS%\activation.jar;%LIBS%\jaxb-libs.jar;%LIBS%\jaxb-api.jar;%LIBS%\jaxb-xjc.jar;%LIBS%\jaxb-impl.jar;%LIBS%\commons-digester.jar;%LIBS%\commons-codec-1.1.jar;%LIBS%\log4j-1.2.8.jar;%LIBS%\hermes.jar;%LIBS%\j2ee.jar;%LIBS%\commons-logging.jar;%LIBS%\jlfgr-1_0.jar;%LIBS%\commons-collections.jar;%LIBS%\commons-beanutils.jar;%LIBS%\namespace.jar;%LIBS%\xsdlib.jar;%PROVIDER_EXT%  -Dlog4j.configuration=file:log4j.props -Dhermes=hermes-config.xml hermes.browser.HermesBrowser

    Partial hermes configuration:

        <loader noFactories="true" jar="C:\IBM\WSADv5.1.1\runtimes\base_v51\mqjms\Java\lib\com.ibm.mq.jar"/>
        <loader noFactories="true" jar="C:\IBM\WSADv5.1.1\runtimes\base_v51\mqjms\Java\lib\com.ibm.mqbind.jar"/>
        <loader factories="com.ibm.mq.jms.MQConnectionFactory,com.ibm.mq.jms.MQQueueConnectionFactory,com.ibm.mq.jms.MQTopicConnectionFactory" jar="C:\IBM\WSADv5.1.1\runtimes\base_v51\mqjms\Java\lib\com.ibm.mqjms.jar"/>
        <factory>
            <provider className="com.ibm.mq.jms.MQQueueConnectionFactory">
                <properties>
                    <property name="channel" value="XYZ.JMS.CLIENT"/>
                    <property name="hostName" value="xyz123a.dummy.com"/>
                    <property name="port" value="1414"/>
                    <property name="queueManager" value="SSXYZ123"/>
                    <property name="transportType" value="1"/>
                </properties>
            </provider>
            <connection>
                <session reconnects="0" audit="false" id="XYZ_EMAIL_QUEUE"/>
            </connection>
            <destination name="XYZ.EMAIL" shortName="XYZ.EMAIL" domain="1"/>
        </factory>

     
    • Colin Crist
      Colin Crist
      2004-08-25

      Hi Dave,

      Funny, have you upgraded from an old version of Hermes? I recall there being a bug earlier where the XML could be:

      <session reconnects="0" audit="false" id="XYZ_EMAIL_QUEUE"/>

      where it should be;

      <session reconnects="0" transacted="true" audit="false" id="XYZ_EMAIL_QUEUE"/>

      That would give rise to your errors. The only problem you'll get is that if something goes wrong in copying/deleting messages (your machine or hermes bombs out at exactly the unfortunate time) you could loose some of the messages being copied/deleted.

      I override this in the GUI in 1.7 (well I do now I've dealt with this scenario) so old XML like I suspect yours is will be ok.

      If you're a recent install, which version?

      Glad u like it, some handy MQ PCF based functionality coming in 1.7 in a couple of weeks - queue discovery from a server and administered queue properties... other providers too (e.g. Weblogic revamp thanks to Pete who's joined recently)

      As always, thanks for the feedback.

      Colin.

       
      • insitedata
        insitedata
        2004-08-26

        Colin,

        That did the trick. I have a new download but I must have copied in part of the XML config from a MQ related post in the forum, which used an old version. It works great now.

        Thanks,

        Dave