test/java/rmi/reliability/juicer/ApplicationServer.java
Print this page
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
@@ -36,22 +36,25 @@
/** number of remote Apple objects to export */
private static final Logger logger = Logger.getLogger("reliability.orange");
private static final int LOOKUP_ATTEMPTS = 5;
private static final int DEFAULT_NUMAPPLES = 10;
private static final String DEFAULT_REGISTRYHOST = "localhost";
+ private static final int DEFAULT_REGISTRYPORT = -1;
private final int numApples;
private final String registryHost;
+ private final int registryPort;
private final Apple[] apples;
private AppleUser user;
- ApplicationServer() {
- this(DEFAULT_NUMAPPLES, DEFAULT_REGISTRYHOST);
+ ApplicationServer(int registryPort) {
+ this(DEFAULT_NUMAPPLES, DEFAULT_REGISTRYHOST, registryPort);
}
- ApplicationServer(int numApples, String registryHost) {
+ ApplicationServer(int numApples, String registryHost, int registryPort) {
this.numApples = numApples;
this.registryHost = registryHost;
+ this.registryPort = registryPort;
apples = new Apple[numApples];
}
/*
* On initialization, export remote objects and register
@@ -69,11 +72,11 @@
*/
Exception exc = null;
for (i = 0; i < LOOKUP_ATTEMPTS; i++) {
try {
Registry registry = LocateRegistry.getRegistry(
- registryHost, 2006);
+ registryHost, registryPort);
user = (AppleUser) registry.lookup("AppleUser");
user.startTest();
break; //successfully obtained AppleUser
} catch (Exception e) {
exc = e;
@@ -118,20 +121,24 @@
}
private static void usage() {
System.err.println("Usage: ApplicationServer [-numApples <numApples>]");
System.err.println(" [-registryHost <host>]");
+ System.err.println(" -registryPort <port>");
System.err.println(" numApples The number of apples (threads) to use.");
System.err.println(" The default is 10 apples.");
System.err.println(" host The host running rmiregistry " +
"which contains AppleUser.");
System.err.println(" The default is \"localhost\".");
+ System.err.println(" port The port the rmiregistry is running" +
+ "on.");
System.err.println();
}
public static void main(String[] args) {
int num = DEFAULT_NUMAPPLES;
+ int port = -1;
String host = DEFAULT_REGISTRYHOST;
// parse command line args
try {
for (int i = 0; i < args.length ; i++ ) {
@@ -140,20 +147,28 @@
i++;
num = Integer.parseInt(args[i]);
} else if (arg.equals("-registryHost")) {
i++;
host = args[i];
+ } else if (arg.equals("-registryPort")) {
+ i++;
+ port = Integer.parseInt(args[i]);
} else {
usage();
}
}
+
+ if (port == -1) {
+ usage();
+ throw new RuntimeException("Port must be specified.");
+ }
} catch (Throwable t) {
usage();
throw new RuntimeException("TEST FAILED: Bad argument");
}
// start the client server
- Thread server = new Thread(new ApplicationServer(num,host));
+ Thread server = new Thread(new ApplicationServer(num,host,port));
server.start();
// main should exit once all exported remote objects are gc'd
}
}