jvm-jersey-env (#1677)
A new Jersey framework based JVM environment which is lightweight and simpler.
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
package io.fission;
|
||||
|
||||
import org.eclipse.jetty.server.Server;
|
||||
import org.eclipse.jetty.servlet.ServletContextHandler;
|
||||
import org.eclipse.jetty.servlet.ServletHolder;
|
||||
import org.glassfish.jersey.jackson.JacksonFeature;
|
||||
import org.glassfish.jersey.server.ResourceConfig;
|
||||
import org.glassfish.jersey.servlet.ServletContainer;
|
||||
|
||||
public class Main {
|
||||
|
||||
private static final int DEFAULT_PORT = 8888;
|
||||
|
||||
private int serverPort;
|
||||
|
||||
public Main(int serverPort) throws Exception {
|
||||
this.serverPort = serverPort;
|
||||
Server server = configureServer();
|
||||
server.start();
|
||||
server.join();
|
||||
}
|
||||
|
||||
private Server configureServer() {
|
||||
ResourceConfig resourceConfig = new ResourceConfig();
|
||||
resourceConfig.packages(JerseyServer.class.getPackage().getName());
|
||||
resourceConfig.register(JacksonFeature.class);
|
||||
ServletContainer servletContainer = new ServletContainer(resourceConfig);
|
||||
ServletHolder sh = new ServletHolder(servletContainer);
|
||||
Server server = new Server(serverPort);
|
||||
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
|
||||
context.setContextPath("/");
|
||||
context.addServlet(sh, "/*");
|
||||
server.setHandler(context);
|
||||
return server;
|
||||
}
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
|
||||
int serverPort = DEFAULT_PORT;
|
||||
|
||||
if(args.length >= 1) {
|
||||
try {
|
||||
serverPort = Integer.parseInt(args[0]);
|
||||
} catch (NumberFormatException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
new Main(serverPort);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user