[jboss-cvs] JBoss Messaging SVN: r2801 - in trunk: tests/src/org/jboss/test/messaging/jms/bridge and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Jun 26 02:43:13 EDT 2007


Author: sergeypk
Date: 2007-06-26 02:43:13 -0400 (Tue, 26 Jun 2007)
New Revision: 2801

Modified:
   trunk/src/main/org/jboss/jms/server/bridge/Bridge.java
   trunk/tests/src/org/jboss/test/messaging/jms/bridge/ReconnectTest.java
Log:
http://jira.jboss.org/jira/browse/JBMESSAGING-999 - Bridge startup should retry if remote destinations are not available.

Modified: trunk/src/main/org/jboss/jms/server/bridge/Bridge.java
===================================================================
--- trunk/src/main/org/jboss/jms/server/bridge/Bridge.java	2007-06-26 01:45:51 UTC (rev 2800)
+++ trunk/src/main/org/jboss/jms/server/bridge/Bridge.java	2007-06-26 06:43:13 UTC (rev 2801)
@@ -280,7 +280,7 @@
       {
          toResume = tm.suspend();
          
-         ok = setupJMSObjects();
+         ok = setupJMSObjectsWithRetry();
       }
       finally
       {

Modified: trunk/tests/src/org/jboss/test/messaging/jms/bridge/ReconnectTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/bridge/ReconnectTest.java	2007-06-26 01:45:51 UTC (rev 2800)
+++ trunk/tests/src/org/jboss/test/messaging/jms/bridge/ReconnectTest.java	2007-06-26 06:43:13 UTC (rev 2801)
@@ -109,7 +109,64 @@
    {
       testCrashAndReconnectDestCrashBeforePrepare(false);
    }
+   
+   // Crash before bridge is started
 
+   public void testRetryConnectionOnStartup() throws Exception
+   {
+      setUpAdministeredObjects(true);
+      ServerManagement.kill(1);
+      Thread.sleep(5000);
+
+      Bridge bridge = new Bridge(cff0, cff1, sourceQueue, destQueue,
+            null, null, null, null,
+            null, 1000, -1, Bridge.QOS_DUPLICATES_OK,
+            10, -1,
+            null, null);
+      
+      new Thread(new Runnable()
+      {
+         public void run()
+         {
+            try
+            {
+               Thread.sleep(2000);
+            }
+            catch (InterruptedException e)
+            {
+               log.debug("Server startup thread interrupted while sleeping", e);
+            }
+            
+            try
+            {
+               ServerManagement.start(1, "all", false);               
+            }
+            catch (Exception e)
+            {
+               throw new RuntimeException("Failed to start server", e);
+            }
+         }
+      }).start();
+
+      try
+      {
+         bridge.start();
+         assertTrue(bridge.isStarted());
+         assertFalse(bridge.isFailed());
+      }
+      finally
+      {
+         try
+         {
+            bridge.stop();
+         }
+         catch (Exception e)
+         {
+            log.error("Failed to stop bridge", e);
+         }
+      }
+   }
+
    /*
     * Send some messages
     * Crash the destination server




More information about the jboss-cvs-commits mailing list