2017-04-04 22:48:41 +02:00
|
|
|
package com.baeldung.jetty;
|
|
|
|
|
|
|
|
|
|
import org.eclipse.jetty.server.Connector;
|
|
|
|
|
import org.eclipse.jetty.server.Server;
|
|
|
|
|
import org.eclipse.jetty.server.ServerConnector;
|
|
|
|
|
import org.eclipse.jetty.servlet.ServletHandler;
|
2017-04-10 15:10:33 +02:00
|
|
|
import org.eclipse.jetty.util.thread.QueuedThreadPool;
|
2017-04-04 22:48:41 +02:00
|
|
|
|
2017-07-13 21:15:19 +02:00
|
|
|
class JettyServer {
|
2017-04-04 22:48:41 +02:00
|
|
|
|
|
|
|
|
private Server server;
|
|
|
|
|
|
2017-07-13 21:15:19 +02:00
|
|
|
void start() throws Exception {
|
2017-04-04 22:48:41 +02:00
|
|
|
|
2017-04-10 15:10:33 +02:00
|
|
|
int maxThreads = 100;
|
|
|
|
|
int minThreads = 10;
|
|
|
|
|
int idleTimeout = 120;
|
|
|
|
|
|
|
|
|
|
QueuedThreadPool threadPool = new QueuedThreadPool(maxThreads, minThreads, idleTimeout);
|
|
|
|
|
|
|
|
|
|
server = new Server(threadPool);
|
2017-04-04 22:48:41 +02:00
|
|
|
ServerConnector connector = new ServerConnector(server);
|
|
|
|
|
connector.setPort(8090);
|
2018-03-04 17:39:09 +02:00
|
|
|
server.setConnectors(new Connector[] { connector });
|
2017-04-04 22:48:41 +02:00
|
|
|
|
|
|
|
|
ServletHandler servletHandler = new ServletHandler();
|
|
|
|
|
server.setHandler(servletHandler);
|
|
|
|
|
|
|
|
|
|
servletHandler.addServletWithMapping(BlockingServlet.class, "/status");
|
|
|
|
|
servletHandler.addServletWithMapping(AsyncServlet.class, "/heavy/async");
|
|
|
|
|
|
|
|
|
|
server.start();
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2017-07-13 21:15:19 +02:00
|
|
|
void stop() throws Exception {
|
2017-04-04 22:48:41 +02:00
|
|
|
server.stop();
|
|
|
|
|
}
|
|
|
|
|
}
|