import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.ServletException;
import javax.websocket.DeploymentException;
import javax.websocket.OnMessage;
import javax.websocket.server.ServerContainer;
import javax.websocket.server.ServerEndpoint;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.websocket.jsr356.server.deploy.WebSocketServerContainerInitializer;
public class JsrManualEndpointInit
@ServerEndpoint(value="/echo")
public static class EchoSocket
public String onMessage(String msg)
public static class AddEndpointsListener implements ServletContextListener
public void contextInitialized(ServletContextEvent sce)
ServerContainer container = (ServerContainer) sce.getServletContext()
.getAttribute(ServerContainer.class.getName());
container.addEndpoint(EchoSocket.class);
catch (DeploymentException e)
throw new RuntimeException("Unable to add WebSocket Endpoints", e);
public void contextDestroyed(ServletContextEvent sce)
public static void main(String[] args) throws Exception
Server server = new Server(8080);
ServletContextHandler context = new ServletContextHandler();
context.setContextPath("/");
context.addEventListener(new AddEndpointsListener());
WebSocketServerContainerInitializer.configureContext(context);
server.setHandler(context);
import javax.websocket.OnMessage;
import javax.websocket.server.ServerContainer;
import javax.websocket.server.ServerEndpoint;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.websocket.jsr356.server.deploy.WebSocketServerContainerInitializer;
public class JsrManualEndpointInit
@ServerEndpoint(value="/echo")
public static class EchoSocket
public String onMessage(String msg)
public static void main(String[] args) throws Exception
Server server = new Server(8080);
ServletContextHandler context = new ServletContextHandler();
context.setContextPath("/");
ServerContainer serverContainer = WebSocketServerContainerInitializer.configureContext(context);
serverContainer.addEndpoint(EchoSocket.class);
server.setHandler(context);