ReplServlet.java
1.37 KB
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
package fi.codecrew.moya.management;
import java.io.IOException;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.UnavailableException;
import javax.servlet.annotation.WebServlet;
import net.matlux.NreplServer;
@WebServlet(loadOnStartup = 5)
public class ReplServlet implements Servlet {
private static final int NREPL_DEFAULT_PORT = 1112;
private NreplServer nreplServer;
private ServletConfig servletConfig;
@Override
public void init(ServletConfig config) throws ServletException {
servletConfig = config;
int port = NREPL_DEFAULT_PORT;
String portStr = config.getInitParameter("port");
if (portStr != null) {
port = Integer.parseInt(portStr);
}
nreplServer = new NreplServer(port);
}
@Override
public ServletConfig getServletConfig() {
return servletConfig;
}
@Override
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
throw new UnavailableException("This servlet doesn't really serve.");
}
@Override
public String getServletInfo() {
return "REPL Servlet for introspecting the JVM";
}
public NreplServer getNreplServer() {
return nreplServer;
}
@Override
public void destroy() {
if (nreplServer != null) {
nreplServer.stop();
}
}
}