4 Replies Latest reply on Oct 17, 2005 4:10 PM by tomdee

    JBossMQ/MDB clustering

    sashahunt Newbie

      Does anyone know what clustering is available for JBossMQ for use with MDBs? What version supports this? Also, any example configuration file woule be greatly appreciated!


        • 1. Re: JBossMQ/MDB clustering
          Adrian Brock Master

          JBossMQ does not support clustering.

          There are plans to include it in jboss4

          It is possible to do a "cold failover" using jdbc2
          persistence as long as you do not use
          durable subscriptions.

          A "cold failover" is where, after a failure, you boot
          a new jboss instance on a different machine
          pointing at the database used by the broken


          • 2. Re: JBossMQ/MDB clustering
            sashahunt Newbie


            Is there a way to do failover from one clustered node to another for Topics? It'simportant that we process our messages synchronously, so I can't have both nodes available to process messages.

            Thanks again,

            • 3. Re: JBossMQ/MDB clustering
              sashahunt Newbie


              Is there a way to do failover of durable topics from one clustered node to another? It's important that messages are processed synchronously, so I don't want both nodes processing messages at the same time.

              Thanks again,

              • 4. Re: JBossMQ/MDB clustering
                tomdee Newbie

                Probably wishful thinking, but did MDB Failover make it into 3.2.7+ line by any chance?

                We have found that in HA mode (2 machines), while the MDBs are being processed on slave machines, if the Master Node goes away, the Slave DOES take over but any MDBs that is running on the slave while the Master went away could not commit.

                2005-10-14 23:19:55,122 ERROR [org.jboss.jms.asf.StdServerSession] failed to commit/rollback
                org.jboss.mq.SpyXAException: - nested throwable: (org.jboss.mq.SpyTransactionRolledBackException: Transaction was rolled back.; - nested throwable: (javax.jms.InvalidDestinationException: The subscription's destination QUEUE.testQueue does not exist))
                 at org.jboss.mq.SpyXAResource.commit(SpyXAResource.java:88)
                 at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:327)
                 at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:877)
                 at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:159)
                 at org.jboss.mq.SpySession.run(SpySession.java:351)
                 at org.jboss.jms.asf.StdServerSession.run0(StdServerSession.java:200)
                 at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:180)
                 at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:748)
                 at java.lang.Thread.run(Thread.java:595)
                Caused by: org.jboss.mq.SpyTransactionRolledBackException: Transaction was rolled back.; - nested throwable: (javax.jms.InvalidDestinationException: The subscription's destination QUEUE.testQueue does not exist)
                 at org.jboss.mq.server.JMSDestinationManager.transact(JMSDestinationManager.java:459)
                 at org.jboss.mq.server.JMSServerInvoker.transact(JMSServerInvoker.java:186)
                 at org.jboss.mq.il.uil2.ServerSocketManagerHandler.handleMsg(ServerSocketManagerHandler.java:166)
                 at org.jboss.mq.il.uil2.SocketManager$ReadTask.handleMsg(SocketManager.java:358)
                 at org.jboss.mq.il.uil2.msgs.BaseMsg.run(BaseMsg.java:377)
                 ... 2 more
                Caused by: javax.jms.InvalidDestinationException: The subscription's destination QUEUE.testQueue does not exist
                 at org.jboss.mq.server.ClientConsumer.acknowledge(ClientConsumer.java:326)
                 at org.jboss.mq.server.JMSDestinationManager.acknowledge(JMSDestinationManager.java:536)
                 at org.jboss.mq.server.JMSDestinationManager.transact(JMSDestinationManager.java:448)
                 ... 6 more