1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.eclipse.jetty.embedded;
20
21 import javax.websocket.OnMessage;
22 import javax.websocket.Session;
23 import javax.websocket.server.ServerEndpoint;
24
25 import org.eclipse.jetty.server.Server;
26 import org.eclipse.jetty.servlet.ServletContextHandler;
27 import org.eclipse.jetty.websocket.jsr356.server.ServerContainer;
28 import org.eclipse.jetty.websocket.jsr356.server.deploy.WebSocketServerContainerInitializer;
29
30
31
32
33 public class WebSocketJsrServer
34 {
35
36
37
38 @ServerEndpoint(value = "/echo")
39 public static class EchoJsrSocket
40 {
41 @OnMessage
42 public void onMessage(Session session, String message)
43 {
44 session.getAsyncRemote().sendText(message);
45 }
46 }
47
48 public static void main(String[] args) throws Exception
49 {
50 Server server = new Server(8080);
51
52 ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
53 context.setContextPath("/");
54 server.setHandler(context);
55
56
57 ServerContainer wsContainer = WebSocketServerContainerInitializer.configureContext(context);
58
59
60 wsContainer.addEndpoint(EchoJsrSocket.class);
61
62 server.start();
63 context.dumpStdErr();
64 server.join();
65 }
66 }