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){
