jvm-jersey-env (#1677)

A new Jersey framework based JVM environment which is lightweight and simpler.
This commit is contained in:
Sahil Lakhwani
2020-09-08 21:24:25 +05:30
committed by GitHub
parent 975286c2ac
commit 54b384efec
28 changed files with 1049 additions and 25 deletions
@@ -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);
}
}