Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Wilkins2012-08-08 06:08:47 +0000
committerGreg Wilkins2012-08-08 06:08:47 +0000
commit9c9668b112903bac637bf1cb9586517f64a817c8 (patch)
tree748796c7da829e5c979d2126bccf282d810d3004
parent689daf092d59349e5026daef8cdf04420167d714 (diff)
downloadorg.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.java11
-rw-r--r--test-jetty-webapp/src/main/java/com/acme/WebSocketChatServlet.java18
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;

Back to the top