package org.apache.zeppelin.notebook.repo.zeppelinhub.websocket.mock; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.ServerConnector; import org.eclipse.jetty.servlet.ServletContextHandler; import org.slf4j.LoggerFactory; public class MockEchoWebsocketServer implements Runnable { private static final org.slf4j.Logger LOG = LoggerFactory.getLogger(MockEchoWebsocketServer.class); private Server server; public MockEchoWebsocketServer(int port) { server = new Server(); ServerConnector connector = new ServerConnector(server); connector.setPort(port); server.addConnector(connector); ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS); context.setContextPath("/"); server.setHandler(context); //ServletHolder holderEvents = new ServletHolder("ws-events", MockEventServlet.class); context.addServlet(MockEventServlet.class, "/ws/*"); } public void start() throws Exception { LOG.info("Starting mock echo websocket server"); server.start(); server.join(); } public void stop() throws Exception { LOG.info("Stopping mock echo websocket server"); server.stop(); } @Override public void run() { try { this.start(); } catch (Exception e) { LOG.error("Couldn't start mock echo websocket server", e); } } }