Author: markt
Date: Wed Mar 6 16:18:39 2013
New Revision: 1453401
URL: http://svn.apache.org/r1453401
Log:
Complete update to v014 API plus some minor proposed tweaks
Added:
tomcat/trunk/java/javax/websocket/server/ServerContainer.java (with props)
tomcat/trunk/java/javax/websocket/server/ServerContainerProvider.java
(with props)
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java
- copied, changed from r1453350,
tomcat/trunk/java/org/apache/tomcat/websocket/server/ServerContainerImpl.java
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainerProvider.java
(with props)
tomcat/trunk/res/META-INF/tomcat-websocket.jar/services/javax.websocket.server.ServerContainerProvider
Removed:
tomcat/trunk/java/org/apache/tomcat/websocket/server/ServerContainerImpl.java
Modified:
tomcat/trunk/java/org/apache/tomcat/websocket/server/DefaultServerEndpointConfigurator.java
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsListener.java
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsProtocolHandler.java
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsSci.java
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServlet.java
tomcat/trunk/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java
tomcat/trunk/test/org/apache/tomcat/websocket/TesterEchoServer.java
tomcat/trunk/test/org/apache/tomcat/websocket/server/TestServerContainerImpl.java
tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/echo/WsConfigListener.java
Added: tomcat/trunk/java/javax/websocket/server/ServerContainer.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/websocket/server/ServerContainer.java?rev=1453401&view=auto
==============================================================================
--- tomcat/trunk/java/javax/websocket/server/ServerContainer.java (added)
+++ tomcat/trunk/java/javax/websocket/server/ServerContainer.java Wed Mar 6
16:18:39 2013
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package javax.websocket.server;
+
+import javax.websocket.DeploymentException;
+import javax.websocket.WebSocketContainer;
+
+public interface ServerContainer extends WebSocketContainer {
+ public abstract void addEndpoint(Class<?> clazz) throws
DeploymentException;
+
+ public abstract void addEndpoint(ServerEndpointConfig sec)
+ throws DeploymentException;
+}
Propchange: tomcat/trunk/java/javax/websocket/server/ServerContainer.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: tomcat/trunk/java/javax/websocket/server/ServerContainerProvider.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/websocket/server/ServerContainerProvider.java?rev=1453401&view=auto
==============================================================================
--- tomcat/trunk/java/javax/websocket/server/ServerContainerProvider.java
(added)
+++ tomcat/trunk/java/javax/websocket/server/ServerContainerProvider.java Wed
Mar 6 16:18:39 2013
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package javax.websocket.server;
+
+import java.util.Iterator;
+import java.util.ServiceLoader;
+
+public abstract class ServerContainerProvider {
+
+ private static final String DEFAULT_PROVIDER_CLASS_NAME =
+ "org.apache.tomcat.websocket.ServerContainerImpl";
+
+ /**
+ * Use the service loader API to obtain a reference to the
+ * {@link ServerContainer}.
+ */
+ static ServerContainer getServerContainer() {
+ ServerContainer result = null;
+
+ ServiceLoader<ServerContainerProvider> serviceLoader =
+ ServiceLoader.load(ServerContainerProvider.class);
+ Iterator<ServerContainerProvider> iter = serviceLoader.iterator();
+ while (result == null && iter.hasNext()) {
+ result = iter.next().getContainer();
+ }
+
+ // Fall-back. Also used by unit tests
+ if (result == null) {
+ try {
+ Class<ServerContainer> clazz =
+ (Class<ServerContainer>) Class.forName(
+ DEFAULT_PROVIDER_CLASS_NAME);
+ result = clazz.newInstance();
+ } catch (ClassNotFoundException | InstantiationException |
+ IllegalAccessException e) {
+ // No options left. Just return null.
+ }
+ }
+ return result;
+
+ }
+
+ protected abstract ServerContainer getContainer();
+}
Propchange:
tomcat/trunk/java/javax/websocket/server/ServerContainerProvider.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified:
tomcat/trunk/java/org/apache/tomcat/websocket/server/DefaultServerEndpointConfigurator.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/DefaultServerEndpointConfigurator.java?rev=1453401&r1=1453400&r2=1453401&view=diff
==============================================================================
---
tomcat/trunk/java/org/apache/tomcat/websocket/server/DefaultServerEndpointConfigurator.java
(original)
+++
tomcat/trunk/java/org/apache/tomcat/websocket/server/DefaultServerEndpointConfigurator.java
Wed Mar 6 16:18:39 2013
@@ -72,14 +72,14 @@ public class DefaultServerEndpointConfig
return requestPath.equals(path);
}
- String servletPath = ServerContainerImpl.getServletPath(path);
+ String servletPath = WsServerContainer.getServletPath(path);
if (!requestPath.startsWith(servletPath)) {
return false;
}
Map<String,String> params;
try {
- params =
ServerContainerImpl.getServerContainer().getPathParameters(
+ params = WsServerContainer.getServerContainer().getPathParameters(
servletPath, requestPath.substring(servletPath.length()));
} catch (IllegalArgumentException iae) {
return false;
Modified: tomcat/trunk/java/org/apache/tomcat/websocket/server/WsListener.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsListener.java?rev=1453401&r1=1453400&r2=1453401&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/server/WsListener.java
(original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsListener.java Wed
Mar 6 16:18:39 2013
@@ -29,7 +29,7 @@ public class WsListener implements Servl
@Override
public void contextInitialized(ServletContextEvent sce) {
- ServerContainerImpl sc = ServerContainerImpl.getServerContainer();
+ WsServerContainer sc = WsServerContainer.getServerContainer();
sc.setServletContext(sce.getServletContext());
}
Modified:
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsProtocolHandler.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsProtocolHandler.java?rev=1453401&r1=1453400&r2=1453401&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/server/WsProtocolHandler.java
(original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsProtocolHandler.java
Wed Mar 6 16:18:39 2013
@@ -52,7 +52,7 @@ public class WsProtocolHandler implement
private final Endpoint ep;
private final EndpointConfig endpointConfig;
private final ClassLoader applicationClassLoader;
- private final ServerContainerImpl webSocketContainer;
+ private final WsServerContainer webSocketContainer;
private final WsRequest request;
private final String subProtocol;
private final Map<String,String> pathParameters;
@@ -62,7 +62,7 @@ public class WsProtocolHandler implement
public WsProtocolHandler(Endpoint ep, EndpointConfig endpointConfig,
- ServerContainerImpl wsc, WsRequest request, String subProtocol,
+ WsServerContainer wsc, WsRequest request, String subProtocol,
Map<String,String> pathParameters, boolean secure) {
this.ep = ep;
this.endpointConfig = endpointConfig;
Modified:
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java?rev=1453401&r1=1453400&r2=1453401&view=diff
==============================================================================
---
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java
(original)
+++
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java
Wed Mar 6 16:18:39 2013
@@ -51,7 +51,7 @@ public class WsRemoteEndpointImplServer
public WsRemoteEndpointImplServer(ServletOutputStream sos,
- ServerContainerImpl serverContainer) {
+ WsServerContainer serverContainer) {
this.sos = sos;
this.wsWriteTimeout = serverContainer.getTimeout();
}
Modified: tomcat/trunk/java/org/apache/tomcat/websocket/server/WsSci.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsSci.java?rev=1453401&r1=1453400&r2=1453401&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/server/WsSci.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsSci.java Wed Mar 6
16:18:39 2013
@@ -43,11 +43,11 @@ public class WsSci implements ServletCon
return;
}
- ServerContainerImpl sc = ServerContainerImpl.getServerContainer();
+ WsServerContainer sc = WsServerContainer.getServerContainer();
sc.setServletContext(ctx);
for (Class<?> clazz : clazzes) {
try {
- sc.deploy(clazz);
+ sc.addEndpoint(clazz);
} catch (DeploymentException e) {
throw new ServletException(e);
}
Copied:
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java
(from r1453350,
tomcat/trunk/java/org/apache/tomcat/websocket/server/ServerContainerImpl.java)
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java?p2=tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java&p1=tomcat/trunk/java/org/apache/tomcat/websocket/server/ServerContainerImpl.java&r1=1453350&r2=1453401&rev=1453401&view=diff
==============================================================================
---
tomcat/trunk/java/org/apache/tomcat/websocket/server/ServerContainerImpl.java
(original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java
Wed Mar 6 16:18:39 2013
@@ -24,6 +24,7 @@ import java.util.concurrent.ConcurrentHa
import javax.servlet.ServletContext;
import javax.servlet.ServletRegistration;
import javax.websocket.DeploymentException;
+import javax.websocket.server.ServerContainer;
import javax.websocket.server.ServerEndpoint;
import javax.websocket.server.ServerEndpointConfig;
@@ -45,25 +46,26 @@ import org.apache.tomcat.websocket.pojo.
* <li>{@link Constants#TEXT_BUFFER_SIZE_SERVLET_CONTEXT_INIT_PARAM}</li>
* </ul>
*/
-public class ServerContainerImpl extends WsWebSocketContainer {
+public class WsServerContainer extends WsWebSocketContainer
+ implements ServerContainer {
// Needs to be a WeakHashMap to prevent memory leaks when a context is
// stopped
- private static final Map<ClassLoader,ServerContainerImpl>
+ private static final Map<ClassLoader,WsServerContainer>
classLoaderContainerMap = new WeakHashMap<>();
private static final Object classLoaderContainerMapLock = new Object();
private static final StringManager sm =
StringManager.getManager(Constants.PACKAGE_NAME);
- private final Log log = LogFactory.getLog(ServerContainerImpl.class);
+ private final Log log = LogFactory.getLog(WsServerContainer.class);
- public static ServerContainerImpl getServerContainer() {
+ public static WsServerContainer getServerContainer() {
ClassLoader tccl = Thread.currentThread().getContextClassLoader();
- ServerContainerImpl result = null;
+ WsServerContainer result = null;
synchronized (classLoaderContainerMapLock) {
result = classLoaderContainerMap.get(tccl);
if (result == null) {
- result = new ServerContainerImpl();
+ result = new WsServerContainer();
classLoaderContainerMap.put(tccl, result);
}
}
@@ -113,7 +115,8 @@ public class ServerContainerImpl extends
* @param sec The configuration to use when creating endpoint instances
* @throws DeploymentException
*/
- public void deploy(ServerEndpointConfig sec)
+ @Override
+ public void addEndpoint(ServerEndpointConfig sec)
throws DeploymentException {
if (servletContext == null) {
throw new DeploymentException(
@@ -141,13 +144,14 @@ public class ServerContainerImpl extends
/**
- * Provides the equivalent of {@link #deploy(ServerEndpointConfig)}
+ * Provides the equivalent of {@link #addEndpoint(ServerEndpointConfig)}
* for publishing plain old java objects (POJOs) that have been annotated
as
* WebSocket endpoints.
*
* @param pojo The annotated POJO
*/
- public void deploy(Class<?> pojo) throws DeploymentException {
+ @Override
+ public void addEndpoint(Class<?> pojo) throws DeploymentException {
ServerEndpoint annotation = pojo.getAnnotation(ServerEndpoint.class);
if (annotation == null) {
Added:
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainerProvider.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainerProvider.java?rev=1453401&view=auto
==============================================================================
---
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainerProvider.java
(added)
+++
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainerProvider.java
Wed Mar 6 16:18:39 2013
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.tomcat.websocket.server;
+
+import javax.websocket.server.ServerContainer;
+import javax.websocket.server.ServerContainerProvider;
+
+
+public class WsServerContainerProvider extends ServerContainerProvider {
+
+ @Override
+ protected ServerContainer getContainer() {
+ return new WsServerContainer();
+ }
+}
Propchange:
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainerProvider.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServlet.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServlet.java?rev=1453401&r1=1453400&r2=1453401&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServlet.java
(original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServlet.java Wed Mar
6 16:18:39 2013
@@ -92,7 +92,7 @@ public class WsServlet extends HttpServl
return;
}
// Need an Endpoint instance to progress this further
- ServerContainerImpl sc = ServerContainerImpl.getServerContainer();
+ WsServerContainer sc = WsServerContainer.getServerContainer();
Map<String,String> pathParameters = sc.getPathParameters(
req.getServletPath(), req.getPathInfo());
ServerEndpointConfig sec = sc.getServerEndpointConfiguration(
Added:
tomcat/trunk/res/META-INF/tomcat-websocket.jar/services/javax.websocket.server.ServerContainerProvider
URL:
http://svn.apache.org/viewvc/tomcat/trunk/res/META-INF/tomcat-websocket.jar/services/javax.websocket.server.ServerContainerProvider?rev=1453401&view=auto
==============================================================================
---
tomcat/trunk/res/META-INF/tomcat-websocket.jar/services/javax.websocket.server.ServerContainerProvider
(added)
+++
tomcat/trunk/res/META-INF/tomcat-websocket.jar/services/javax.websocket.server.ServerContainerProvider
Wed Mar 6 16:18:39 2013
@@ -0,0 +1 @@
+org.apache.tomcat.websocket.server.WsServerContainerProvider
\ No newline at end of file
Modified:
tomcat/trunk/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java?rev=1453401&r1=1453400&r2=1453401&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java
(original)
+++ tomcat/trunk/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java
Wed Mar 6 16:18:39 2013
@@ -50,8 +50,8 @@ import org.apache.tomcat.websocket.Teste
import org.apache.tomcat.websocket.TesterSingleMessageClient.BasicHandler;
import org.apache.tomcat.websocket.TesterSingleMessageClient.BasicText;
import org.apache.tomcat.websocket.TesterSingleMessageClient.TesterEndpoint;
-import org.apache.tomcat.websocket.server.ServerContainerImpl;
import org.apache.tomcat.websocket.server.WsListener;
+import org.apache.tomcat.websocket.server.WsServerContainer;
public class TestWsWebSocketContainer extends TomcatBaseTest {
@@ -412,10 +412,10 @@ public class TestWsWebSocketContainer ex
@Override
public void contextInitialized(ServletContextEvent sce) {
super.contextInitialized(sce);
- ServerContainerImpl sc = ServerContainerImpl.getServerContainer();
+ WsServerContainer sc = WsServerContainer.getServerContainer();
sc.setServletContext(sce.getServletContext());
try {
- sc.deploy(BlockingPojo.class);
+ sc.addEndpoint(BlockingPojo.class);
} catch (DeploymentException e) {
throw new IllegalStateException(e);
}
@@ -522,9 +522,9 @@ public class TestWsWebSocketContainer ex
@Override
public void contextInitialized(ServletContextEvent sce) {
super.contextInitialized(sce);
- ServerContainerImpl sc = ServerContainerImpl.getServerContainer();
+ WsServerContainer sc = WsServerContainer.getServerContainer();
try {
- sc.deploy(ServerEndpointConfig.Builder.create(
+ sc.addEndpoint(ServerEndpointConfig.Builder.create(
ConstantTxEndpoint.class, PATH).build());
if (TestWsWebSocketContainer.timoutOnContainer) {
sc.setAsyncSendTimeout(TIMEOUT_MS);
Modified: tomcat/trunk/test/org/apache/tomcat/websocket/TesterEchoServer.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/websocket/TesterEchoServer.java?rev=1453401&r1=1453400&r2=1453401&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/tomcat/websocket/TesterEchoServer.java
(original)
+++ tomcat/trunk/test/org/apache/tomcat/websocket/TesterEchoServer.java Wed Mar
6 16:18:39 2013
@@ -25,8 +25,8 @@ import javax.websocket.OnMessage;
import javax.websocket.Session;
import javax.websocket.server.ServerEndpoint;
-import org.apache.tomcat.websocket.server.ServerContainerImpl;
import org.apache.tomcat.websocket.server.WsListener;
+import org.apache.tomcat.websocket.server.WsServerContainer;
public class TesterEchoServer {
@@ -38,11 +38,11 @@ public class TesterEchoServer {
@Override
public void contextInitialized(ServletContextEvent sce) {
super.contextInitialized(sce);
- ServerContainerImpl sc = ServerContainerImpl.getServerContainer();
+ WsServerContainer sc = WsServerContainer.getServerContainer();
sc.setServletContext(sce.getServletContext());
try {
- sc.deploy(Async.class);
- sc.deploy(Basic.class);
+ sc.addEndpoint(Async.class);
+ sc.addEndpoint(Basic.class);
} catch (DeploymentException e) {
throw new IllegalStateException(e);
}
Modified:
tomcat/trunk/test/org/apache/tomcat/websocket/server/TestServerContainerImpl.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/websocket/server/TestServerContainerImpl.java?rev=1453401&r1=1453400&r2=1453401&view=diff
==============================================================================
---
tomcat/trunk/test/org/apache/tomcat/websocket/server/TestServerContainerImpl.java
(original)
+++
tomcat/trunk/test/org/apache/tomcat/websocket/server/TestServerContainerImpl.java
Wed Mar 6 16:18:39 2013
@@ -24,20 +24,20 @@ public class TestServerContainerImpl {
@Test
public void testGetServletMappingPath() throws Exception {
Assert.assertEquals("/foo/*",
- ServerContainerImpl.getServletPath("/foo"));
+ WsServerContainer.getServletPath("/foo"));
Assert.assertEquals("/foo/*",
- ServerContainerImpl.getServletPath("/foo/"));
+ WsServerContainer.getServletPath("/foo/"));
Assert.assertEquals("/foo/bar/*",
- ServerContainerImpl.getServletPath("/foo/bar"));
+ WsServerContainer.getServletPath("/foo/bar"));
Assert.assertEquals("/foo/bar/*",
- ServerContainerImpl.getServletPath("/foo/bar/"));
+ WsServerContainer.getServletPath("/foo/bar/"));
Assert.assertEquals("/foo/*",
- ServerContainerImpl.getServletPath("/foo/{bar}"));
+ WsServerContainer.getServletPath("/foo/{bar}"));
Assert.assertEquals("/foo/*",
- ServerContainerImpl.getServletPath("/foo/{bar}/"));
+ WsServerContainer.getServletPath("/foo/{bar}/"));
Assert.assertEquals("/foo/*",
- ServerContainerImpl.getServletPath("/foo/x{bar}"));
+ WsServerContainer.getServletPath("/foo/x{bar}"));
Assert.assertEquals("/foo/*",
- ServerContainerImpl.getServletPath("/foo/x{bar}/"));
+ WsServerContainer.getServletPath("/foo/x{bar}/"));
}
}
Modified:
tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/echo/WsConfigListener.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/echo/WsConfigListener.java?rev=1453401&r1=1453400&r2=1453401&view=diff
==============================================================================
---
tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/echo/WsConfigListener.java
(original)
+++
tomcat/trunk/webapps/examples/WEB-INF/classes/websocket/echo/WsConfigListener.java
Wed Mar 6 16:18:39 2013
@@ -21,8 +21,8 @@ import javax.servlet.annotation.WebListe
import javax.websocket.DeploymentException;
import javax.websocket.server.ServerEndpointConfig;
-import org.apache.tomcat.websocket.server.ServerContainerImpl;
import org.apache.tomcat.websocket.server.WsListener;
+import org.apache.tomcat.websocket.server.WsServerContainer;
@WebListener
public class WsConfigListener extends WsListener {
@@ -30,9 +30,9 @@ public class WsConfigListener extends Ws
@Override
public void contextInitialized(ServletContextEvent sce) {
super.contextInitialized(sce);
- ServerContainerImpl sc = ServerContainerImpl.getServerContainer();
+ WsServerContainer sc = WsServerContainer.getServerContainer();
try {
- sc.deploy(ServerEndpointConfig.Builder.create(
+ sc.addEndpoint(ServerEndpointConfig.Builder.create(
EchoEndpoint.class,
"/websocket/echoProgrammatic").build());
} catch (DeploymentException e) {
throw new IllegalStateException(e);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]