[jboss-cvs] JBoss Messaging SVN: r8564 - branches/Branch_1_4/src/main/org/jboss/jms/server.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Aug 30 11:53:07 EDT 2012


Author: gaohoward
Date: 2012-08-30 11:53:07 -0400 (Thu, 30 Aug 2012)
New Revision: 8564

Modified:
   branches/Branch_1_4/src/main/org/jboss/jms/server/MessagingClusterHealthMBean.java
Log:
JBMESSAGING-1931

Pull in changes to restart all MDBs after JBM being restarted. from branch:
/branches/JBossMessaging_1_4_8_SP5_JBMESSAGING-1911_JBMESSAGING-1912_JBMESSAGING-1918_JBMESSAGING_1921_JBMESSAGING_1922_JBMESSAGING_1931


Modified: branches/Branch_1_4/src/main/org/jboss/jms/server/MessagingClusterHealthMBean.java
===================================================================
--- branches/Branch_1_4/src/main/org/jboss/jms/server/MessagingClusterHealthMBean.java	2012-08-27 19:02:53 UTC (rev 8563)
+++ branches/Branch_1_4/src/main/org/jboss/jms/server/MessagingClusterHealthMBean.java	2012-08-30 15:53:07 UTC (rev 8564)
@@ -26,6 +26,7 @@
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Set;
 
 import javax.management.ObjectName;
 
@@ -218,7 +219,7 @@
       ObjectName spName = new ObjectName(serverPeer);
       startService(spName);
       
-      //starat post office
+      //start post office
       ObjectName poName = new ObjectName(postOffice);
       startService(poName);
       
@@ -246,6 +247,9 @@
       nodeStopped = false;
       
       log.info("JBM node restarted.");
+      
+      // restart message delivery to MDBs
+      restartAllMDBs();
    }
    
    private void makeSureDelay()
@@ -344,4 +348,24 @@
          log.info("Registered destination " + serviceName);
       }
    }
+
+   /**
+    * Restart delivery to all MDBs
+    */
+   private void restartAllMDBs() {
+      Set<ObjectName> mbeanNames = server.queryNames(null, null);
+      for (ObjectName objName: mbeanNames) {
+            try
+            {
+               server.invoke(objName, "stopDelivery", new Object[] {}, null);
+               server.invoke(objName, "startDelivery", new Object[] {}, null);
+               log.debug("Restarted Delivery for: " + objName.getCanonicalName());
+            }
+            catch(Exception e)
+            {
+               log.trace("Restarting message delivery on: " + objName.getCanonicalName() + " produced:");
+               log.trace(e);
+            }
+      }
+   }
 }



More information about the jboss-cvs-commits mailing list