--freeport => --port 0
authorJan Lahoda <jlahoda@netbeans.org>
Sat, 14 Jan 2012 20:36:18 +0100
changeset 7249ec0d6964151
parent 723 50dc0bb1f6da
child 725 4695734d3cde
--freeport => --port 0
remoting/server/tests/run-declarative-tests
remoting/server/web/web.main/src/web/main/WebMain.java
     1.1 --- a/remoting/server/tests/run-declarative-tests	Sat Jan 14 18:45:15 2012 +0100
     1.2 +++ b/remoting/server/tests/run-declarative-tests	Sat Jan 14 20:36:18 2012 +0100
     1.3 @@ -41,7 +41,7 @@
     1.4  (cd ../web/web.main; ant jar)
     1.5  OUT=`mktemp`;
     1.6  trap "rm $OUT" EXIT
     1.7 -java -jar ../web/web.main/dist/web.main.jar --freeport cache >"$OUT" &
     1.8 +java -jar ../web/web.main/dist/web.main.jar --port 0 cache >"$OUT" &
     1.9  
    1.10  trap "kill %1" EXIT
    1.11  
     2.1 --- a/remoting/server/web/web.main/src/web/main/WebMain.java	Sat Jan 14 18:45:15 2012 +0100
     2.2 +++ b/remoting/server/web/web.main/src/web/main/WebMain.java	Sat Jan 14 20:36:18 2012 +0100
     2.3 @@ -46,10 +46,7 @@
     2.4  import com.sun.grizzly.tcp.http11.GrizzlyAdapter;
     2.5  import com.sun.grizzly.tcp.http11.GrizzlyRequest;
     2.6  import com.sun.grizzly.tcp.http11.GrizzlyResponse;
     2.7 -import com.sun.jersey.api.container.httpserver.HttpServerFactory;
     2.8 -import com.sun.jersey.api.core.PackagesResourceConfig;
     2.9  import com.sun.jersey.spi.container.servlet.ServletContainer;
    2.10 -import com.sun.net.httpserver.HttpServer;
    2.11  import java.io.File;
    2.12  import java.io.IOException;
    2.13  import java.net.URL;
    2.14 @@ -69,23 +66,17 @@
    2.15       * @param args the command line arguments
    2.16       */
    2.17      public static void main(String... origArgs) throws IOException, InterruptedException {
    2.18 -        boolean freePort = false;
    2.19 +        int port = 9998;
    2.20  
    2.21          List<String> args = new ArrayList<String>(Arrays.asList(origArgs));
    2.22  
    2.23 -        if (args.size() > 0 && "--freeport".equals(args.get(0))) {
    2.24 -            freePort = true;
    2.25 +        if (args.size() > 1 && "--port".equals(args.get(0))) {
    2.26              args.remove(0);
    2.27 +            port = Integer.parseInt(args.remove(0));
    2.28          }
    2.29  
    2.30          if (args.size() != 1 && args.size() != 2) {
    2.31 -            System.err.println("Usage: java -jar " + WebMain.class.getProtectionDomain().getCodeSource().getLocation().getPath() + " [--freeport] <cache> [<static-content>]");
    2.32 -            return ;
    2.33 -        }
    2.34 -
    2.35 -        if (freePort && args.size() == 2) {
    2.36 -            System.err.println("Usage: java -jar " + WebMain.class.getProtectionDomain().getCodeSource().getLocation().getPath() + " [--freeport] <cache> [<static-content>]");
    2.37 -            System.err.println("<static-content> not supported in combination with --freeport option");
    2.38 +            System.err.println("Usage: java -jar " + WebMain.class.getProtectionDomain().getCodeSource().getLocation().getPath() + " [--port <port>] <cache> [<static-content>]");
    2.39              return ;
    2.40          }
    2.41  
    2.42 @@ -94,19 +85,12 @@
    2.43  //        org.netbeans.ProxyURLStreamHandlerFactory.register();
    2.44          URL.setURLStreamHandlerFactory(new RelStreamHandlerFactory());
    2.45  
    2.46 -        if (freePort) {
    2.47 -            final HttpServer f = HttpServerFactory.create("http://127.0.0.1:0/", new PackagesResourceConfig("org.netbeans.modules.jackpot30"));
    2.48 -            f.start();
    2.49 -            System.out.println("Running on port: " + f.getAddress().getPort());
    2.50 -            return;
    2.51 -        }
    2.52 -
    2.53          GrizzlyWebServer gws;
    2.54  
    2.55          if (args.size() == 2) {
    2.56 -            gws = new GrizzlyWebServer(9998, args.get(1));
    2.57 +            gws = new GrizzlyWebServer(port, args.get(1));
    2.58          } else {
    2.59 -            gws = new GrizzlyWebServer(9998);
    2.60 +            gws = new GrizzlyWebServer(port);
    2.61          }
    2.62  
    2.63          // Jersey web resources
    2.64 @@ -123,6 +107,10 @@
    2.65  
    2.66          // let Grizzly run
    2.67          gws.start();
    2.68 +
    2.69 +        if (port == 0) {
    2.70 +            System.out.println("Running on port: " + gws.getSelectorThread().getPortLowLevel());
    2.71 +        }
    2.72      }
    2.73  
    2.74  }