[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