blob: af577a0fb4acb803c337e59ddcbcf7fc2b817e90 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
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 ServerContainer {
Logger logger = LoggerFactory.getLogger(getClass());
Server server;
int port;
ServletContextHandler context = null;
public ServerContainer(Server server, int port, ServletContextHandler context) {
this.server = server;
this.port = port;
this.context = context;
}
public static ServerContainer create(int port) {
Server server = new Server(port);
return new ServerContainer(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();
}
}
|