Author: peter_firmstone
Date: Wed Nov 21 11:23:37 2012
New Revision: 1412060

URL: http://svn.apache.org/viewvc?rev=1412060&view=rev
Log:
Alter Reggie to throw IOException if port selected by ServerSocketFactory 
doesn't match requested port, or if default port not available - Changes 
reverted, it would be desirable to have the port required by BaseQATest 
communicated to Reggie, which currently gets the unicast socket port from 
configuration.  BaseQATest falls over when port 4160 is already in use.

Modified:
    river/jtsk/trunk/qa/src/com/sun/jini/test/share/BaseQATest.java
    
river/jtsk/trunk/qa/src/com/sun/jini/test/share/DiscoveryProtocolSimulator.java

Modified: river/jtsk/trunk/qa/src/com/sun/jini/test/share/BaseQATest.java
URL: 
http://svn.apache.org/viewvc/river/jtsk/trunk/qa/src/com/sun/jini/test/share/BaseQATest.java?rev=1412060&r1=1412059&r2=1412060&view=diff
==============================================================================
--- river/jtsk/trunk/qa/src/com/sun/jini/test/share/BaseQATest.java (original)
+++ river/jtsk/trunk/qa/src/com/sun/jini/test/share/BaseQATest.java Wed Nov 21 
11:23:37 2012
@@ -66,6 +66,7 @@ import java.util.Map;
 import java.util.Properties;
 import java.util.Set;
 import java.util.logging.Level;
+import net.jini.discovery.Constants;
 
 /**
  * This class is an abstract class that contains common functionality 
@@ -1493,10 +1494,10 @@ abstract public class BaseQATest extends
         int port = getConfig().getServiceIntProperty
                                     ("net.jini.core.lookup.ServiceRegistrar",
                                      "port", indx);
-        logger.log(Level.FINEST, "Config property: " + remoteHost + ":" + 
port);
+        logger.log(Level.FINEST, "Config property: {0}:{1}", new 
Object[]{remoteHost, port});
         if (port == Integer.MIN_VALUE) {
            port = 4160;
-            logger.log(Level.FINEST, "Changing port to: " + port);
+            logger.log(Level.FINEST, "Changing port to: {0}", port);
        }
        // used for book keeping only, so don't need a constrainable locator
         return QAConfig.getConstrainedLocator(remoteHost,port);
@@ -1543,7 +1544,7 @@ abstract public class BaseQATest extends
                     Object locGroupsPair = lookupsStarted.get(i);
                     initLookupsToStart.set(i,locGroupsPair);
                     allLookupsToStart.set(i,locGroupsPair);
-                }
+                } 
                LocatorGroupsPair p = (LocatorGroupsPair) 
initLookupsToStart.get(i);
                LookupLocator l = p.locator;
                logger.log(Level.FINEST, "init locator " + i + " = " + l);
@@ -1587,8 +1588,10 @@ abstract public class BaseQATest extends
                 LocatorGroupsPair pair
                                = (LocatorGroupsPair)addLookupsToStart.get(j);
                 int port = (pair.locator).getPort();
-                if(portInUse(port)) port = 0;
-                startLookup(i,port, pair.locator.getHost());
+                synchronized (lookupsStarted){
+                    if(portInUse(port)) port = 0;
+                    startLookup(i,port, pair.locator.getHost());
+                }
                 if(port == 0) {
                     logger.log(Level.FINEST, "port was equal to zero");
                     Object locGroupsPair = lookupsStarted.get(i);

Modified: 
river/jtsk/trunk/qa/src/com/sun/jini/test/share/DiscoveryProtocolSimulator.java
URL: 
http://svn.apache.org/viewvc/river/jtsk/trunk/qa/src/com/sun/jini/test/share/DiscoveryProtocolSimulator.java?rev=1412060&r1=1412059&r2=1412060&view=diff
==============================================================================
--- 
river/jtsk/trunk/qa/src/com/sun/jini/test/share/DiscoveryProtocolSimulator.java 
(original)
+++ 
river/jtsk/trunk/qa/src/com/sun/jini/test/share/DiscoveryProtocolSimulator.java 
Wed Nov 21 11:23:37 2012
@@ -574,19 +574,11 @@ public class DiscoveryProtocolSimulator 
            if (port == 0) {
                try {
                    listen = new ServerSocket(Constants.discoveryPort);
-               } catch (BindException e){
-                    try {
-                        Thread.sleep(240000); // TIME_WAIT
-                        listen = new ServerSocket(Constants.discoveryPort); // 
Try again.
-                    } catch (IOException ex){
-                        logger.log(Level.FINE, "Failed to bind to default 
port", ex);
-                    } catch (InterruptedException ex){
-                        ex.fillInStackTrace();
-                        throw new IOException("Interrupted while trying to 
open a ServerSocket", ex);
-                    }
+                } catch (IOException ex){
+                    logger.log(Level.FINE, "Failed to bind to default port", 
ex);
                 }
-           }
-           if (listen == null) {
+           } 
+            if (listen == null) {
                 try {
                     listen = new ServerSocket(port);
                 } catch (BindException e){


Reply via email to