diff options
author | Kjetil Ørbekk <kjetil.orbekk@gmail.com> | 2012-02-28 17:24:27 +0100 |
---|---|---|
committer | Kjetil Ørbekk <kjetil.orbekk@gmail.com> | 2012-02-28 17:24:27 +0100 |
commit | b0569609d29217887d55803368abeb9a1f71a70c (patch) | |
tree | ecfbb6531a0e44703046d6ea20661c75cdb7f40f /same/src/main/java/com/orbekk/same/http/JettyServerContainer.java | |
parent | bf8e87bec12e6ec53ec2150d7a6f6d0e493c79ce (diff) |
Begin support for TJWS.
Add TjwsServerContainer.
Rename Jetty specific containers.
Diffstat (limited to 'same/src/main/java/com/orbekk/same/http/JettyServerContainer.java')
-rw-r--r-- | same/src/main/java/com/orbekk/same/http/JettyServerContainer.java | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/same/src/main/java/com/orbekk/same/http/JettyServerContainer.java b/same/src/main/java/com/orbekk/same/http/JettyServerContainer.java new file mode 100644 index 0000000..34db226 --- /dev/null +++ b/same/src/main/java/com/orbekk/same/http/JettyServerContainer.java @@ -0,0 +1,61 @@ +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; +import org.slf4j.LoggerFactory; + +public class JettyServerContainer { + Logger logger = LoggerFactory.getLogger(getClass()); + Server server; + int port; + ServletContextHandler context = null; + + public JettyServerContainer(Server server, int port, ServletContextHandler context) { + this.server = server; + this.port = port; + this.context = context; + } + + public static JettyServerContainer create(int port) { + Server server = new Server(port); + return new JettyServerContainer(server, port, null); + } + + public void setContext(ServletContextHandler context) { + server.setHandler(context); + 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(); + } else { + return port; + } + } + + public void start() throws Exception { + server.start(); + logger.info("Started server on port {}", getPort()); + } + + public void stop() throws Exception { + server.stop(); + logger.info("Server stopped."); + } + + public void join() throws InterruptedException { + server.join(); + } +} |