forked from I2P_Developers/i2p.i2p
* Console: Put all socket handlers in same thread pool,
set min/max threads and idle timeout
This commit is contained in:
@ -24,6 +24,7 @@ import org.mortbay.http.DigestAuthenticator;
|
|||||||
import org.mortbay.http.HashUserRealm;
|
import org.mortbay.http.HashUserRealm;
|
||||||
import org.mortbay.http.NCSARequestLog;
|
import org.mortbay.http.NCSARequestLog;
|
||||||
import org.mortbay.http.SecurityConstraint;
|
import org.mortbay.http.SecurityConstraint;
|
||||||
|
import org.mortbay.http.SocketListener;
|
||||||
import org.mortbay.http.SslListener;
|
import org.mortbay.http.SslListener;
|
||||||
import org.mortbay.http.handler.SecurityHandler;
|
import org.mortbay.http.handler.SecurityHandler;
|
||||||
import org.mortbay.jetty.Server;
|
import org.mortbay.jetty.Server;
|
||||||
@ -184,11 +185,21 @@ public class RouterConsoleRunner {
|
|||||||
while (tok.hasMoreTokens()) {
|
while (tok.hasMoreTokens()) {
|
||||||
String host = tok.nextToken().trim();
|
String host = tok.nextToken().trim();
|
||||||
try {
|
try {
|
||||||
if (host.indexOf(":") >= 0) // IPV6 - requires patched Jetty 5
|
//if (host.indexOf(":") >= 0) // IPV6 - requires patched Jetty 5
|
||||||
_server.addListener('[' + host + "]:" + _listenPort);
|
// _server.addListener('[' + host + "]:" + _listenPort);
|
||||||
else
|
//else
|
||||||
_server.addListener(host + ':' + _listenPort);
|
// _server.addListener(host + ':' + _listenPort);
|
||||||
|
Integer lport = Integer.parseInt(_listenPort);
|
||||||
|
InetAddrPort iap = new InetAddrPort(host, lport);
|
||||||
|
SocketListener lsnr = new SocketListener(iap);
|
||||||
|
lsnr.setMinThreads(1); // default 2
|
||||||
|
lsnr.setMaxThreads(24); // default 256
|
||||||
|
lsnr.setMaxIdleTimeMs(90*1000); // default 10 sec
|
||||||
|
lsnr.setName("ConsoleSocket"); // all with same name will use the same thread pool
|
||||||
|
_server.addListener(lsnr);
|
||||||
boundAddresses++;
|
boundAddresses++;
|
||||||
|
} catch (NumberFormatException nfe) {
|
||||||
|
System.err.println("Unable to bind routerconsole to " + host + " port " + _listenPort + ' ' + nfe);
|
||||||
} catch (IOException ioe) { // this doesn't seem to work, exceptions don't happen until start() below
|
} catch (IOException ioe) { // this doesn't seem to work, exceptions don't happen until start() below
|
||||||
System.err.println("Unable to bind routerconsole to " + host + " port " + _listenPort + ' ' + ioe);
|
System.err.println("Unable to bind routerconsole to " + host + " port " + _listenPort + ' ' + ioe);
|
||||||
}
|
}
|
||||||
@ -220,6 +231,10 @@ public class RouterConsoleRunner {
|
|||||||
ssll.setPassword(ctx.getProperty(PROP_KEYSTORE_PASSWORD, DEFAULT_KEYSTORE_PASSWORD));
|
ssll.setPassword(ctx.getProperty(PROP_KEYSTORE_PASSWORD, DEFAULT_KEYSTORE_PASSWORD));
|
||||||
// the X.509 cert password (if not present, verifyKeyStore() returned false)
|
// the X.509 cert password (if not present, verifyKeyStore() returned false)
|
||||||
ssll.setKeyPassword(ctx.getProperty(PROP_KEY_PASSWORD, "thisWontWork"));
|
ssll.setKeyPassword(ctx.getProperty(PROP_KEY_PASSWORD, "thisWontWork"));
|
||||||
|
ssll.setMinThreads(1); // default 2
|
||||||
|
ssll.setMaxThreads(24); // default 256
|
||||||
|
ssll.setMaxIdleTimeMs(90*1000); // default 10 sec
|
||||||
|
ssll.setName("ConsoleSocket"); // all with same name will use the same thread pool
|
||||||
_server.addListener(ssll);
|
_server.addListener(ssll);
|
||||||
boundAddresses++;
|
boundAddresses++;
|
||||||
} catch (Exception e) { // probably no exceptions at this point
|
} catch (Exception e) { // probably no exceptions at this point
|
||||||
|
Reference in New Issue
Block a user