4 Replies Latest reply on Apr 23, 2004 11:39 AM by vijayk

    Subscriber beans on different nodes

      Hello All,

      This may be trivial to most of you but kindly help me here. The JMS specs do not have anything on this issue nor do JBoss docs I have.

      I have 3 Jboss 3.2.3 nodes as a cluster. Is it possible to host one TopicSubscriber per node subscribed to a Topic? (The reason I ask is because each node has a local database so each subscriber can execute queries on the local database)

      Thank you,
      Vijay Kandy

        • 1. Re: Subscriber beans on different nodes

          I don't think it is trivial. :-)

          You cannot currently do this with JBossMQ. I don't know about other JMS
          implementations. It doesn't sound like a typical solution - the design has lots of
          points of failures (one for each network connection and database) unless
          you plan on providing redundent copies (buddying).

          • 2. Re: Subscriber beans on different nodes

            Oh thanks for the reply Adrian. I was afraid you were going to yell at me! :)

            If I can ask one more:

            If the node (master node?) hosting the Topic fails, I learnt (from cocoonhive.org) we could have TopicSubscribers register an ExceptionListener and failover to a new node.

            But since the subscribers themselves are on the node that failed, will they automatically move to another node too or do we do this manually?

            Thank again,
            Vijay Kandy

            • 3. Re: Subscriber beans on different nodes

              Why would I yell at you? It is not a dumb question that has been asked
              20 times in the last month. :-)

              Actually, I misread your question. I though you were talking about splitting up the
              physical topic, to store each subscription's messages on different machines.

              The clients can be on as many nodes as you like.
              You don't need clustering for this, you just have three clients making remote
              connections.

              If you do it with an MDB, then the exception listener/recovery is done for you.

              What the clustering would give you is the ability to failover to a different machine
              if one crashes. It would pickup the Topic messages from the database and continue
              where the failed machine left off. But the full version isn't available until 3.2.4
              http://jboss.org/wiki/Wiki.jsp?page=JBossMQHA

              It is doable in 3.2.3, but you have to put the pieces together yourself
              (something we - Ivelin really - have done for you in 3.2.4).

              • 4. Re: Subscriber beans on different nodes

                As always, that was very helpful. Thanks Adrian.