diff options
author | Greg Wilkins | 2012-08-08 06:08:47 +0000 |
---|---|---|
committer | Greg Wilkins | 2012-08-08 06:08:47 +0000 |
commit | 9c9668b112903bac637bf1cb9586517f64a817c8 (patch) | |
tree | 748796c7da829e5c979d2126bccf282d810d3004 | |
parent | 689daf092d59349e5026daef8cdf04420167d714 (diff) | |
download | org.eclipse.jetty.project-9c9668b112903bac637bf1cb9586517f64a817c8.tar.gz org.eclipse.jetty.project-9c9668b112903bac637bf1cb9586517f64a817c8.tar.xz org.eclipse.jetty.project-9c9668b112903bac637bf1cb9586517f64a817c8.zip |
ported websocketchat to new API
-rw-r--r-- | jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketServlet.java | 11 | ||||
-rw-r--r-- | test-jetty-webapp/src/main/java/com/acme/WebSocketChatServlet.java | 18 |
2 files changed, 27 insertions, 2 deletions
diff --git a/jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketServlet.java b/jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketServlet.java index 5d660b9c11..2548c0e589 100644 --- a/jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketServlet.java +++ b/jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketServlet.java @@ -132,7 +132,7 @@ public abstract class WebSocketServlet extends HttpServlet policy.setMaxBinaryMessageSize(Integer.parseInt(max)); } - webSocketFactory = new WebSocketServerFactory(policy); + webSocketFactory = newWebSocketServerFactory(policy); registerWebSockets(webSocketFactory); @@ -144,6 +144,15 @@ public abstract class WebSocketServlet extends HttpServlet } } + /** + * Create a new WebSocketServerFactory. + * This methods allows the factory instance to be overridden by derived Servlets. + */ + protected WebSocketServerFactory newWebSocketServerFactory(WebSocketPolicy policy) + { + return new WebSocketServerFactory(policy); + } + public abstract void registerWebSockets(WebSocketServerFactory factory); /** diff --git a/test-jetty-webapp/src/main/java/com/acme/WebSocketChatServlet.java b/test-jetty-webapp/src/main/java/com/acme/WebSocketChatServlet.java index 41254caf53..c773617182 100644 --- a/test-jetty-webapp/src/main/java/com/acme/WebSocketChatServlet.java +++ b/test-jetty-webapp/src/main/java/com/acme/WebSocketChatServlet.java @@ -27,6 +27,9 @@ import org.eclipse.jetty.websocket.annotations.OnWebSocketConnect; import org.eclipse.jetty.websocket.annotations.OnWebSocketMessage; import org.eclipse.jetty.websocket.annotations.WebSocket; import org.eclipse.jetty.websocket.api.WebSocketConnection; +import org.eclipse.jetty.websocket.api.WebSocketPolicy; +import org.eclipse.jetty.websocket.server.WebSocketRequest; +import org.eclipse.jetty.websocket.server.WebSocketResponse; import org.eclipse.jetty.websocket.server.WebSocketServerFactory; import org.eclipse.jetty.websocket.server.WebSocketServlet; @@ -44,6 +47,19 @@ public class WebSocketChatServlet extends WebSocketServlet }; @Override + protected WebSocketServerFactory newWebSocketServerFactory(WebSocketPolicy policy) + { + return new WebSocketServerFactory(policy) + { + @Override + public Object createWebSocket(WebSocketRequest req, WebSocketResponse resp) + { + return new ChatWebSocket(); + } + }; + } + + @Override public void registerWebSockets(WebSocketServerFactory factory) { factory.register(ChatWebSocket.class); @@ -52,7 +68,7 @@ public class WebSocketChatServlet extends WebSocketServlet /* ------------------------------------------------------------ */ /* ------------------------------------------------------------ */ @WebSocket - class ChatWebSocket + public class ChatWebSocket { volatile WebSocketConnection _connection; |