Rearranged web.socket.server subpackages and introduced web.socket.config

This commit is contained in:
Juergen Hoeller
2013-12-02 22:31:57 +01:00
committed by unknown
parent eb8b5c435c
commit e3e1c1bcec
55 changed files with 210 additions and 420 deletions

View File

@@ -29,7 +29,7 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.util.concurrent.ListenableFuture;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import org.springframework.web.socket.client.WebSocketClient;
import org.springframework.web.socket.server.DefaultHandshakeHandler;
import org.springframework.web.socket.server.support.DefaultHandshakeHandler;
import org.springframework.web.socket.server.RequestUpgradeStrategy;
import org.springframework.web.socket.server.support.JettyRequestUpgradeStrategy;
import org.springframework.web.socket.server.support.TomcatRequestUpgradeStrategy;

View File

@@ -30,10 +30,10 @@ import org.springframework.web.socket.adapter.TextWebSocketHandlerAdapter;
import org.springframework.web.socket.adapter.WebSocketHandlerAdapter;
import org.springframework.web.socket.client.endpoint.StandardWebSocketClient;
import org.springframework.web.socket.client.jetty.JettyWebSocketClient;
import org.springframework.web.socket.server.DefaultHandshakeHandler;
import org.springframework.web.socket.server.config.EnableWebSocket;
import org.springframework.web.socket.server.config.WebSocketConfigurer;
import org.springframework.web.socket.server.config.WebSocketHandlerRegistry;
import org.springframework.web.socket.server.support.DefaultHandshakeHandler;
import org.springframework.web.socket.config.EnableWebSocket;
import org.springframework.web.socket.config.WebSocketConfigurer;
import org.springframework.web.socket.config.WebSocketHandlerRegistry;
import org.springframework.web.socket.support.WebSocketHttpHeaders;
import static org.junit.Assert.*;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.web.socket.server.config;
package org.springframework.web.socket.config;
import java.util.ArrayList;
import java.util.Arrays;
@@ -26,7 +26,7 @@ import org.mockito.Mockito;
import org.springframework.scheduling.TaskScheduler;
import org.springframework.web.socket.WebSocketHandler;
import org.springframework.web.socket.adapter.TextWebSocketHandlerAdapter;
import org.springframework.web.socket.server.DefaultHandshakeHandler;
import org.springframework.web.socket.server.support.DefaultHandshakeHandler;
import org.springframework.web.socket.server.HandshakeHandler;
import org.springframework.web.socket.server.HandshakeInterceptor;
import org.springframework.web.socket.server.support.HttpSessionHandshakeInterceptor;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.web.socket.server.config.xml;
package org.springframework.web.socket.config;
import org.hamcrest.Matchers;
import org.junit.Before;
@@ -34,7 +34,7 @@ import org.springframework.web.socket.CloseStatus;
import org.springframework.web.socket.WebSocketHandler;
import org.springframework.web.socket.WebSocketMessage;
import org.springframework.web.socket.WebSocketSession;
import org.springframework.web.socket.server.DefaultHandshakeHandler;
import org.springframework.web.socket.server.support.DefaultHandshakeHandler;
import org.springframework.web.socket.server.HandshakeFailureException;
import org.springframework.web.socket.server.HandshakeHandler;
import org.springframework.web.socket.server.HandshakeInterceptor;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.web.socket.messaging.config.xml;
package org.springframework.web.socket.config;
import org.hamcrest.Matchers;
import org.junit.Before;
@@ -43,7 +43,6 @@ import org.springframework.web.socket.support.WebSocketHandlerDecorator;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import static org.junit.Assert.*;
@@ -64,7 +63,6 @@ public class MessageBrokerBeanDefinitionParserTests {
@Test
public void simpleBroker() {
loadBeanDefinitions("websocket-config-broker-simple.xml");
HandlerMapping hm = this.appContext.getBean(HandlerMapping.class);
@@ -136,7 +134,6 @@ public class MessageBrokerBeanDefinitionParserTests {
@Test
public void stompBrokerRelay() {
loadBeanDefinitions("websocket-config-broker-relay.xml");
HandlerMapping hm = this.appContext.getBean(HandlerMapping.class);
@@ -198,7 +195,6 @@ public class MessageBrokerBeanDefinitionParserTests {
@Test
public void annotationMethodMessageHandler() {
loadBeanDefinitions("websocket-config-broker-simple.xml");
SimpAnnotationMethodMessageHandler annotationMethodMessageHandler =
@@ -221,7 +217,6 @@ public class MessageBrokerBeanDefinitionParserTests {
@Test
public void customChannels() {
loadBeanDefinitions("websocket-config-broker-customchannels.xml");
List<Class<? extends MessageHandler>> subscriberTypes =

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.web.socket.server.config;
package org.springframework.web.socket.config;
import java.util.Arrays;
import java.util.concurrent.CountDownLatch;

View File

@@ -28,7 +28,7 @@ import org.springframework.scheduling.TaskScheduler;
import org.springframework.util.MultiValueMap;
import org.springframework.web.HttpRequestHandler;
import org.springframework.web.socket.messaging.SubProtocolWebSocketHandler;
import org.springframework.web.socket.server.DefaultHandshakeHandler;
import org.springframework.web.socket.server.support.DefaultHandshakeHandler;
import org.springframework.web.socket.server.support.WebSocketHttpRequestHandler;
import org.springframework.web.socket.sockjs.SockJsHttpRequestHandler;
import org.springframework.web.socket.sockjs.transport.TransportType;

View File

@@ -26,6 +26,7 @@ import org.junit.Test;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.springframework.web.socket.AbstractHttpRequestTests;
import org.springframework.web.socket.server.support.DefaultHandshakeHandler;
import org.springframework.web.socket.support.SubProtocolCapable;
import org.springframework.web.socket.support.WebSocketExtension;
import org.springframework.web.socket.WebSocketHandler;
@@ -36,7 +37,7 @@ import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.*;
/**
* Test fixture for {@link DefaultHandshakeHandler}.
* Test fixture for {@link org.springframework.web.socket.server.support.DefaultHandshakeHandler}.
*
* @author Rossen Stoyanchev
*/

View File

@@ -28,11 +28,13 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.mock.web.test.MockServletContext;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import org.springframework.web.socket.server.support.ServerEndpointExporter;
import org.springframework.web.socket.server.support.ServerEndpointRegistration;
import static org.mockito.Mockito.*;
/**
* Test fixture for {@link ServerEndpointExporter}.
* Test fixture for {@link org.springframework.web.socket.server.support.ServerEndpointExporter}.
*
* @author Rossen Stoyanchev
*/

View File

@@ -26,11 +26,12 @@ import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.socket.server.support.ServerEndpointRegistration;
import static org.junit.Assert.*;
/**
* Test fixture for {@link ServerEndpointRegistration}.
* Test fixture for {@link org.springframework.web.socket.server.support.ServerEndpointRegistration}.
*
* @author Rossen Stoyanchev
*/

View File

@@ -29,6 +29,7 @@ import org.springframework.mock.web.test.MockServletContext;
import org.springframework.stereotype.Component;
import org.springframework.web.context.ContextLoader;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import org.springframework.web.socket.server.support.SpringConfigurator;
import static org.junit.Assert.*;

View File

@@ -1,19 +1,3 @@
<!--
~ Copyright 2002-2013 the original author or authors.
~
~ Licensed 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.
-->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:websocket="http://www.springframework.org/schema/websocket"
@@ -22,29 +6,29 @@
<websocket:message-broker application-destination-prefix="/app" user-destination-prefix="/personal">
<websocket:stomp-endpoint path="/foo,/bar">
<websocket:handshake-handler ref="myHandler" />
<websocket:handshake-handler ref="myHandler"/>
</websocket:stomp-endpoint>
<websocket:simple-broker prefix="/topic" />
<websocket:simple-broker prefix="/topic"/>
<websocket:client-inbound-channel>
<websocket:executor core-pool-size="100" max-pool-size="200" keep-alive-seconds="600" />
<websocket:executor core-pool-size="100" max-pool-size="200" keep-alive-seconds="600"/>
<websocket:interceptors>
<ref bean="myInterceptor" />
<ref bean="myInterceptor"/>
</websocket:interceptors>
</websocket:client-inbound-channel>
<websocket:client-outbound-channel>
<websocket:executor core-pool-size="101" max-pool-size="201" keep-alive-seconds="601" />
<websocket:executor core-pool-size="101" max-pool-size="201" keep-alive-seconds="601"/>
<websocket:interceptors>
<ref bean="myInterceptor" />
<bean class="org.springframework.messaging.support.channel.ChannelInterceptorAdapter" />
<ref bean="myInterceptor"/>
<bean class="org.springframework.messaging.support.channel.ChannelInterceptorAdapter"/>
</websocket:interceptors>
</websocket:client-outbound-channel>
<websocket:broker-channel>
<websocket:executor core-pool-size="102" max-pool-size="202" keep-alive-seconds="602" />
<websocket:executor core-pool-size="102" max-pool-size="202" keep-alive-seconds="602"/>
</websocket:broker-channel>
</websocket:message-broker>
<bean id="myHandler" class="org.springframework.web.socket.server.config.xml.TestHandshakeHandler" />
<bean id="myHandler" class="org.springframework.web.socket.config.TestHandshakeHandler"/>
<bean id="myInterceptor" class="org.springframework.messaging.support.channel.ChannelInterceptorAdapter" />
<bean id="myInterceptor" class="org.springframework.messaging.support.channel.ChannelInterceptorAdapter"/>
</beans>

View File

@@ -1,19 +1,3 @@
<!--
~ Copyright 2002-2013 the original author or authors.
~
~ Licensed 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.
-->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:websocket="http://www.springframework.org/schema/websocket"
@@ -22,8 +6,8 @@
<websocket:message-broker order="2">
<websocket:stomp-endpoint path="/foo">
<websocket:handshake-handler ref="myHandler" />
<websocket:sockjs />
<websocket:handshake-handler ref="myHandler"/>
<websocket:sockjs/>
</websocket:stomp-endpoint>
<websocket:stomp-broker-relay
prefix="/topic,/queue"
@@ -36,5 +20,6 @@
virtual-host="spring.io"/>
</websocket:message-broker>
<bean id="myHandler" class="org.springframework.web.socket.server.config.xml.TestWebSocketHandler" />
<bean id="myHandler" class="org.springframework.web.socket.config.TestWebSocketHandler"/>
</beans>

View File

@@ -0,0 +1,20 @@
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:websocket="http://www.springframework.org/schema/websocket"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/websocket http://www.springframework.org/schema/websocket/spring-websocket-4.0.xsd">
<websocket:message-broker application-destination-prefix="/app" user-destination-prefix="/personal">
<websocket:stomp-endpoint path=" /foo,/bar">
<websocket:handshake-handler ref="myHandler"/>
</websocket:stomp-endpoint>
<websocket:stomp-endpoint path="/test,/sockjs">
<websocket:handshake-handler ref="myHandler"/>
<websocket:sockjs/>
</websocket:stomp-endpoint>
<websocket:simple-broker prefix="/topic"/>
</websocket:message-broker>
<bean id="myHandler" class="org.springframework.web.socket.config.TestHandshakeHandler"/>
</beans>

View File

@@ -0,0 +1,24 @@
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:websocket="http://www.springframework.org/schema/websocket"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/websocket http://www.springframework.org/schema/websocket/spring-websocket-4.0.xsd">
<websocket:handlers order="2">
<websocket:mapping path="/foo" handler="fooHandler"/>
<websocket:mapping path="/test" handler="testHandler"/>
<websocket:handshake-handler ref="testHandshakeHandler"/>
<websocket:handshake-interceptors>
<bean class="org.springframework.web.socket.config.FooTestInterceptor"/>
<ref bean="barTestInterceptor"/>
</websocket:handshake-interceptors>
</websocket:handlers>
<bean id="testHandler" class="org.springframework.web.socket.config.TestWebSocketHandler"/>
<bean id="fooHandler" class="org.springframework.web.socket.config.FooWebSocketHandler"/>
<bean id="barTestInterceptor" class="org.springframework.web.socket.config.BarTestInterceptor"/>
<bean id="testHandshakeHandler" class="org.springframework.web.socket.config.TestHandshakeHandler"/>
</beans>

View File

@@ -1,19 +1,3 @@
<!--
~ Copyright 2002-2013 the original author or authors.
~
~ Licensed 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.
-->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:websocket="http://www.springframework.org/schema/websocket"
@@ -22,7 +6,7 @@
http://www.springframework.org/schema/websocket http://www.springframework.org/schema/websocket/spring-websocket-4.0.xsd">
<websocket:handlers >
<websocket:mapping path="/test" handler="testHandler" />
<websocket:mapping path="/test" handler="testHandler"/>
<websocket:sockjs task-scheduler="testTaskScheduler"
name="testSockJsService"
websocket-enabled="false"
@@ -33,18 +17,18 @@
heartbeat-time="20">
<websocket:transport-handlers register-defaults="false">
<bean class="org.springframework.web.socket.sockjs.transport.handler.XhrPollingTransportHandler"/>
<ref bean="xhrStreamingTransportHandler" />
<ref bean="xhrStreamingTransportHandler"/>
</websocket:transport-handlers>
</websocket:sockjs>
</websocket:handlers>
<bean id="testHandler"
class="org.springframework.web.socket.server.config.xml.TestWebSocketHandler" />
class="org.springframework.web.socket.config.TestWebSocketHandler"/>
<bean id="xhrStreamingTransportHandler"
class="org.springframework.web.socket.sockjs.transport.handler.XhrStreamingTransportHandler" />
class="org.springframework.web.socket.sockjs.transport.handler.XhrStreamingTransportHandler"/>
<bean id="testTaskScheduler"
class="org.springframework.web.socket.server.config.xml.TestTaskScheduler" />
class="org.springframework.web.socket.config.TestTaskScheduler"/>
</beans>

View File

@@ -0,0 +1,17 @@
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:websocket="http://www.springframework.org/schema/websocket"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/websocket http://www.springframework.org/schema/websocket/spring-websocket-4.0.xsd">
<websocket:handlers>
<websocket:mapping path="/test" handler="testHandler"/>
<websocket:mapping path="/foo/" handler="fooHandler"/>
<websocket:sockjs/>
</websocket:handlers>
<bean id="testHandler" class="org.springframework.web.socket.config.TestWebSocketHandler"/>
<bean id="fooHandler" class="org.springframework.web.socket.config.FooWebSocketHandler"/>
</beans>

View File

@@ -0,0 +1,19 @@
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:websocket="http://www.springframework.org/schema/websocket"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/websocket http://www.springframework.org/schema/websocket/spring-websocket-4.0.xsd">
<websocket:handlers>
<websocket:mapping path="/foo,/bar" handler="fooHandler"/>
</websocket:handlers>
<websocket:handlers>
<websocket:mapping path="/test" handler="testHandler"/>
</websocket:handlers>
<bean id="testHandler" class="org.springframework.web.socket.config.TestWebSocketHandler"/>
<bean id="fooHandler" class="org.springframework.web.socket.config.FooWebSocketHandler"/>
</beans>

View File

@@ -1,35 +0,0 @@
<!--
~ Copyright 2002-2013 the original author or authors.
~
~ Licensed 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.
-->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:websocket="http://www.springframework.org/schema/websocket"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/websocket http://www.springframework.org/schema/websocket/spring-websocket-4.0.xsd">
<websocket:message-broker application-destination-prefix="/app" user-destination-prefix="/personal">
<websocket:stomp-endpoint path=" /foo,/bar">
<websocket:handshake-handler ref="myHandler" />
</websocket:stomp-endpoint>
<websocket:stomp-endpoint path="/test,/sockjs">
<websocket:handshake-handler ref="myHandler" />
<websocket:sockjs />
</websocket:stomp-endpoint>
<websocket:simple-broker prefix="/topic" />
</websocket:message-broker>
<bean id="myHandler" class="org.springframework.web.socket.server.config.xml.TestHandshakeHandler" />
</beans>

View File

@@ -1,40 +0,0 @@
<!--
~ Copyright 2002-2013 the original author or authors.
~
~ Licensed 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.
-->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:websocket="http://www.springframework.org/schema/websocket"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/websocket http://www.springframework.org/schema/websocket/spring-websocket-4.0.xsd">
<websocket:handlers order="2">
<websocket:mapping path="/foo" handler="fooHandler" />
<websocket:mapping path="/test" handler="testHandler" />
<websocket:handshake-handler ref="testHandshakeHandler" />
<websocket:handshake-interceptors>
<bean class="org.springframework.web.socket.server.config.xml.FooTestInterceptor"/>
<ref bean="barTestInterceptor" />
</websocket:handshake-interceptors>
</websocket:handlers>
<bean id="testHandler" class="org.springframework.web.socket.server.config.xml.TestWebSocketHandler" />
<bean id="fooHandler" class="org.springframework.web.socket.server.config.xml.FooWebSocketHandler" />
<bean id="barTestInterceptor" class="org.springframework.web.socket.server.config.xml.BarTestInterceptor"/>
<bean id="testHandshakeHandler" class="org.springframework.web.socket.server.config.xml.TestHandshakeHandler" />
</beans>

View File

@@ -1,33 +0,0 @@
<!--
~ Copyright 2002-2013 the original author or authors.
~
~ Licensed 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.
-->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:websocket="http://www.springframework.org/schema/websocket"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/websocket http://www.springframework.org/schema/websocket/spring-websocket-4.0.xsd">
<websocket:handlers>
<websocket:mapping path="/test" handler="testHandler" />
<websocket:mapping path="/foo/" handler="fooHandler" />
<websocket:sockjs/>
</websocket:handlers>
<bean id="testHandler" class="org.springframework.web.socket.server.config.xml.TestWebSocketHandler" />
<bean id="fooHandler" class="org.springframework.web.socket.server.config.xml.FooWebSocketHandler" />
</beans>

View File

@@ -1,35 +0,0 @@
<!--
~ Copyright 2002-2013 the original author or authors.
~
~ Licensed 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.
-->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:websocket="http://www.springframework.org/schema/websocket"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/websocket http://www.springframework.org/schema/websocket/spring-websocket-4.0.xsd">
<websocket:handlers>
<websocket:mapping path="/foo,/bar" handler="fooHandler" />
</websocket:handlers>
<websocket:handlers>
<websocket:mapping path="/test" handler="testHandler" />
</websocket:handlers>
<bean id="testHandler" class="org.springframework.web.socket.server.config.xml.TestWebSocketHandler" />
<bean id="fooHandler" class="org.springframework.web.socket.server.config.xml.FooWebSocketHandler" />
</beans>