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(
53 ServletContextHandler.SESSIONS);
54 context.setContextPath("/");
55 server.setHandler(context);
56
57
58 ServerContainer wsContainer = WebSocketServerContainerInitializer
59 .configureContext(context);
60
61
62 wsContainer.addEndpoint(EchoJsrSocket.class);
63
64 server.start();
65 context.dumpStdErr();
66 server.join();
67 }
68 }