5 Replies Latest reply on May 23, 2017 9:16 AM by jbertram

    Communication Between Jboss7.1.1 and Hornetq2.2.13 Broken

    hanumanthprasad

      Hello All,

       

      We are frequently getting the communication problem between JMS server and client.

      After the server restart, all the messages are getting process which suppose to process before jboss restart.

      We have not fund any error message related to the connection broken issue.

      But there are some warning messages are added to log

       

      2017-05-14 17:34:02,740 WARN  [org.hornetq.core.protocol.core.impl.RemotingConnectionImpl] [hornetq-failure-check-thread] Connection

      failure has been detected: Did not receive data from invm:0. It is likely the client has exited or crashed without closing its connection, or the network between the

      server and client has failed. You also might have configured connection-ttl and client-failure-check-period incorrectly. Please check user manual for more information.

      The connection will now be closed. [code=3]

       

      Jboss : jboss-as-7.1.1.Final

      HornetQ : HornetQ Server version 2.2.13.Final

       

      It would be grateful to you if you direct/advise, how to resolve the communication between server and client.

       

      Regards,

      Hanumanth.

       

       

       

        • 1. Re: Communication Between Jboss7.1.1 and Hornetq2.2.13 Broken
          jbertram

          This problem was fixed years ago via HORNETQ-1314.  It's also been covered on the forum before, for example on this thread.

           

          In general I recommend you try to stay on the latest version (or at least closer to the latest version).

          • 2. Re: Communication Between Jboss7.1.1 and Hornetq2.2.13 Broken
            hanumanthprasad

            Hi Justin Bertram,

             

            I have gone through links and found that the HornetQ 2.4.5.Final is recommended version to upgrade for this issue.

             

            I have not done HornetQ upgrade before with jboss7.1.1.

             

            I will be more happy, if you share related links or information about the upgrade of HornetQ 2.4.5 from HornetQ 2.2.13.Final for Jboss7.1.1

             

            Regards,

            Hanumanth

            • 3. Re: Communication Between Jboss7.1.1 and Hornetq2.2.13 Broken
              jbertram

              I believe there is a work-around based on a configuration change discussed on the thread I linked.

               

              As far as upgrading HornetQ within JBoss AS 7.1.1.Final, I'm not sure that's possible.  If you want to upgrade then I suggest you move to a later version of JBoss AS or even Wildfly which has the version of HornetQ (or Artemis) which you need.

              • 4. Re: Communication Between Jboss7.1.1 and Hornetq2.2.13 Broken
                hanumanthprasad

                Hi Justin Bertram,

                 

                From shared thread , I have found work around

                Try these settings on the MDB to disable connection checking, add the following annotations:

                @ActivationConfigProperty(propertyName = "clientFailureCheckPeriod", propertyValue = "600000")

                @ActivationConfigProperty(propertyName = "connectionTTL", propertyValue = "-1")

                 

                Please confirm whether we can do similar configuration at server level(standalone.xml) or annotations at MDB level is ideal approach.

                 

                <jms-connection-factories> 

                                    <connection-factory name="InVmConnectionFactory"> 

                                        <connectors> 

                                            <connector-ref connector-name="in-vm"/> 

                                        </connectors> 

                                        <entries> 

                                            <entry name="java:/ConnectionFactory"/> 

                                        </entries>

                 

                                    <connection-ttl>-1</connection-ttl>

                                    <client-failure-check-period>600000</client-failure-check-period>

                                   </connection-factory> 

                       -----

                </jms-connection-factories>

                 

                Regards,

                Hanumanth.

                 

                • 5. Re: Communication Between Jboss7.1.1 and Hornetq2.2.13 Broken
                  jbertram

                  If you're using MDBs then annotation would be the preferred approach.  However, if you have in-vm clients using the in-vm connection factory (i.e. looking up "java:/ConnectionFactory" in JNDI) then you can use the XML approach.

                   

                  By default MDBs use configuration elements from the JmsXA pooled-connection-factory so you might be able to add <connection-ttl> and <client-failure-check-period> to that, but I haven't tested that approach.