2 Replies Latest reply on Aug 16, 2014 11:53 PM by Hannes Weninger

    JBoss Domain Mode - HornetQ

    Hannes Weninger Newbie

      Hello,

       

      I would have a basic question concerning HornetQ in JBoss Domain Mode.

      The environment I have to deploy my application which uses HonetQ looks like this:

       

       

       

                               Loadbalancing

       

      Domain Controller                     HostController

      HostController

       

      My Application                         MyApplication


      So it is an active- passive cluster (if left JBoss shuts down the right on gets the request and vica verse).

      Now I'am writing an application where I use HornetQ - therefore my question is, what can I do in order to prevent message lose?


      Embeeded HornetQ and standalone HornetQ wouldn't be the right choice in this case I think - So I think I need "HornetQ- Cluster- Mode" - but I am not sure actually because I am not sure if I have only one HornetQ queue which I can access from the two "MyApplication" applications.

      Is HornetQ automatically clustered if JBoss Servers work in domain mode or does HornetQ needed configuration separatly for clustering.


      Many questions :-) I would be happy about any advice.

      Thank you very much in advance and all the best,

      Generic1


       

        • 1. Re: JBoss Domain Mode - HornetQ
          Justin Bertram Master

          So it is an active- passive cluster (if left JBoss shuts down the right on gets the request and vica verse).

          It's not clear from your picture why your cluster would be active-passive.  What kind of messages are you sending through the load-balancer?

           

          Now I'am writing an application where I use HornetQ - therefore my question is, what can I do in order to prevent message lose?

          The simplest way to prevent message loss is to use persistent (i.e. durable) messages from your producers and make sure your consumers don't acknowledge the messages until they are finished with their work.

           

          Embeeded HornetQ and standalone HornetQ wouldn't be the right choice in this case I think...

          Technically speaking I would consider HornetQ running in JBoss AS or Wildfly as embedded and if running in its own JVM it would be considered standalone.  Therefore I don't really understand your statement here.  If you rule out both embedded and standalone there's nothing left.  How else would you run HornetQ?

           

          Is HornetQ automatically clustered if JBoss Servers work in domain mode or does HornetQ needed configuration separatly for clustering.

          Using domain mode for servers in JBoss AS or Wildfly says nothing about whether those servers are actually clustered or not.  You'd need to configure HornetQ clustering apart from any domain-mode-specific configuration.

           

          By the way, I moved your post out of the HornetQ Development forum and into the more generic HornetQ forum.  The HornetQ Development forum is for discussions about the development of HornetQ itself and not discussions about using/configuring HornetQ.

          • 2. Re: JBoss Domain Mode - HornetQ
            Hannes Weninger Newbie

            Hello Justin,

             

            thank s a lot for your reply! It helps me a lot because I see that I have misunderstood something - with your answers it is more clear.

             

            >> So it is an active- passive cluster (if left JBoss shuts down the right on gets the request and vica verse).

            This is the information of our hosting center. Load balancer works with mod_cluster. I understand it like this that my application is deployed twice - If one JBoss with my application shuts down, the requests goes over the load balancer to the other JBoss with my application.

            The hosting center says this is the active - passive cluster.

             

            >> The simplest way to prevent message loss is to use persistent (i.e. durable) messages from your producers and make sure your consumers don't acknowledge the messages until they are finished with their work.

            If I store the messages I will send in database, than it would make no sense to use HornetQ for my understanding because than one of the two applications store the messages and a third application would read the messages from db and handle it.

            I would not see the sense of HornetQ then - but I am sure that I misunderstood something - I would be very glad for an answer for this.

             

            >> Technically speaking I would consider HornetQ running in JBoss AS or Wildfly as embedded and if running in its own JVM it would be considered standalone.  Therefore I don't really understand your statement here.  If you rule out both embedded and standalone there's nothing left.  How else would you run HornetQ?

            OK, now I see. I thought that the standalone or embedded HornetQ's delivered with the JBosses must be clustered in order to have one queue where I can push the messages from my application in JBossA or JBossB - or have I something misunderstood?

             

            >> Using domain mode for servers in JBoss AS or Wildfly says nothing about whether those servers are actually clustered or not.  You'd need to configure HornetQ clustering apart from any domain-mode-specific configuration.

            This is an important info for me. There are different config file for domain mode and hornetQ configuration - therefore it is clear.

             

            Thank you very much once again!

            Generic1