From f466217e62e052d11095bb0992067d5becd5d502 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kjetil=20=C3=98rbekk?= Date: Mon, 13 Feb 2012 20:47:36 +0100 Subject: Reuse Jetty server socket. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit – SameService used to get BindExceptions, try to avoid this by reusing server sockets. --- same/src/main/java/com/orbekk/same/http/ServerBuilder.java | 1 + same/src/main/java/com/orbekk/same/http/ServerContainer.java | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/same/src/main/java/com/orbekk/same/http/ServerBuilder.java b/same/src/main/java/com/orbekk/same/http/ServerBuilder.java index dcb7b8a..65ee670 100644 --- a/same/src/main/java/com/orbekk/same/http/ServerBuilder.java +++ b/same/src/main/java/com/orbekk/same/http/ServerBuilder.java @@ -33,6 +33,7 @@ public class ServerBuilder { public ServerContainer build() { ServerContainer server = ServerContainer.create(port); + server.setReuseAddress(true); server.setContext(getServletContextHandler()); return server; } diff --git a/same/src/main/java/com/orbekk/same/http/ServerContainer.java b/same/src/main/java/com/orbekk/same/http/ServerContainer.java index cd4dc4d..f91cce1 100644 --- a/same/src/main/java/com/orbekk/same/http/ServerContainer.java +++ b/same/src/main/java/com/orbekk/same/http/ServerContainer.java @@ -1,5 +1,7 @@ package com.orbekk.same.http; +import org.eclipse.jetty.server.AbstractConnector; +import org.eclipse.jetty.server.Connector; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.servlet.ServletContextHandler; import org.slf4j.Logger; @@ -27,6 +29,14 @@ public class ServerContainer { this.context = context; } + public void setReuseAddress(boolean on) { + Connector connector = server.getConnectors()[0]; + if (connector instanceof AbstractConnector) { + AbstractConnector connector_ = (AbstractConnector)connector; + connector_.setReuseAddress(on); + } + } + public int getPort() { if (port == 0) { return server.getConnectors()[0].getLocalPort(); -- cgit v1.2.3