Replace use of AbstractWebSocketMessageBrokerConfigurer

This commit is contained in:
Rossen Stoyanchev 2018-01-15 10:01:14 -05:00
parent d6591a6329
commit dd09c08cdf
6 changed files with 24 additions and 21 deletions

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2014 the original author or authors. * Copyright 2002-2018 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -30,11 +30,11 @@ import org.springframework.messaging.simp.config.MessageBrokerRegistry;
* *
* @author Rossen Stoyanchev * @author Rossen Stoyanchev
* @since 4.0.1 * @since 4.0.1
* @deprecated {@link WebSocketMessageBrokerConfigurer} has default methods (made * @deprecated in favor of simply using {@link WebSocketMessageBrokerConfigurer}
* possible by a Java 8 baseline) and can be implemented directly without the * which has default methods, made possible by a Java 8 baseline.
* need for this abstract class
*/ */
public abstract class AbstractWebSocketMessageBrokerConfigurer implements WebSocketMessageBrokerConfigurer { @Deprecated
public abstract class /*AbstractWebSocketMessageBrokerConfigurer*/ implements WebSocketMessageBrokerConfigurer {
@Override @Override

View File

@ -37,13 +37,12 @@ import org.springframework.context.annotation.Import;
* </pre> * </pre>
* *
* <p>Customize the imported configuration by implementing the * <p>Customize the imported configuration by implementing the
* {@link WebSocketMessageBrokerConfigurer} interface or more likely extend the * {@link WebSocketMessageBrokerConfigurer} interface:
* convenient base class {@link AbstractWebSocketMessageBrokerConfigurer}:
* *
* <pre class="code"> * <pre class="code">
* &#064;Configuration * &#064;Configuration
* &#064;EnableWebSocketMessageBroker * &#064;EnableWebSocketMessageBroker
* public class MyConfiguration extends AbstractWebSocketMessageBrokerConfigurer { * public class MyConfiguration implements WebSocketMessageBrokerConfigurer {
* *
* &#064;Override * &#064;Override
* public void registerStompEndpoints(StompEndpointRegistry registry) { * public void registerStompEndpoints(StompEndpointRegistry registry) {

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2014 the original author or authors. * Copyright 2002-2018 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.

View File

@ -16,9 +16,6 @@
package org.springframework.web.socket.config.annotation; package org.springframework.web.socket.config.annotation;
import static org.junit.Assert.*;
import static org.mockito.Mockito.*;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -64,6 +61,13 @@ import org.springframework.web.socket.messaging.SubProtocolHandler;
import org.springframework.web.socket.messaging.SubProtocolWebSocketHandler; import org.springframework.web.socket.messaging.SubProtocolWebSocketHandler;
import org.springframework.web.socket.server.support.WebSocketHttpRequestHandler; import org.springframework.web.socket.server.support.WebSocketHttpRequestHandler;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.mock;
/** /**
* Test fixture for * Test fixture for
* {@link org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurationSupport}. * {@link org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurationSupport}.
@ -219,7 +223,7 @@ public class WebSocketMessageBrokerConfigurationSupportTests {
} }
@Configuration @Configuration
static class TestConfigurer extends AbstractWebSocketMessageBrokerConfigurer { static class TestConfigurer implements WebSocketMessageBrokerConfigurer {
@Bean @Bean
public TestController subscriptionController() { public TestController subscriptionController() {

View File

@ -51,14 +51,14 @@ import org.springframework.web.socket.UndertowTestServer;
import org.springframework.web.socket.WebSocketSession; import org.springframework.web.socket.WebSocketSession;
import org.springframework.web.socket.client.jetty.JettyWebSocketClient; import org.springframework.web.socket.client.jetty.JettyWebSocketClient;
import org.springframework.web.socket.client.standard.StandardWebSocketClient; import org.springframework.web.socket.client.standard.StandardWebSocketClient;
import org.springframework.web.socket.config.annotation.AbstractWebSocketMessageBrokerConfigurer;
import org.springframework.web.socket.config.annotation.DelegatingWebSocketMessageBrokerConfiguration; import org.springframework.web.socket.config.annotation.DelegatingWebSocketMessageBrokerConfiguration;
import org.springframework.web.socket.config.annotation.StompEndpointRegistry; import org.springframework.web.socket.config.annotation.StompEndpointRegistry;
import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer;
import org.springframework.web.socket.handler.TextWebSocketHandler; import org.springframework.web.socket.handler.TextWebSocketHandler;
import org.springframework.web.socket.server.HandshakeHandler; import org.springframework.web.socket.server.HandshakeHandler;
import static org.junit.Assert.*; import static org.junit.Assert.assertTrue;
import static org.springframework.web.socket.messaging.StompTextMessageBuilder.*; import static org.springframework.web.socket.messaging.StompTextMessageBuilder.create;
/** /**
* Integration tests with annotated message-handling methods. * Integration tests with annotated message-handling methods.
@ -318,7 +318,7 @@ public class StompWebSocketIntegrationTests extends AbstractWebSocketIntegration
basePackageClasses=StompWebSocketIntegrationTests.class, basePackageClasses=StompWebSocketIntegrationTests.class,
useDefaultFilters=false, useDefaultFilters=false,
includeFilters=@ComponentScan.Filter(IntegrationTestController.class)) includeFilters=@ComponentScan.Filter(IntegrationTestController.class))
static class TestMessageBrokerConfigurer extends AbstractWebSocketMessageBrokerConfigurer { static class TestMessageBrokerConfigurer implements WebSocketMessageBrokerConfigurer {
@Autowired @Autowired
private HandshakeHandler handshakeHandler; // can't rely on classpath for server detection private HandshakeHandler handshakeHandler; // can't rely on classpath for server detection

View File

@ -1458,7 +1458,7 @@ In Java config:
---- ----
@Configuration @Configuration
@EnableWebSocketMessageBroker @EnableWebSocketMessageBroker
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer { public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {
// ... // ...
@ -1611,7 +1611,7 @@ user and associate it with subsequent STOMP messages on the same session:
---- ----
@Configuration @Configuration
@EnableWebSocketMessageBroker @EnableWebSocketMessageBroker
public class MyConfig extends AbstractWebSocketMessageBrokerConfigurer { public class MyConfig implements WebSocketMessageBrokerConfigurer {
@Override @Override
public void configureClientInboundChannel(ChannelRegistration registration) { public void configureClientInboundChannel(ChannelRegistration registration) {
@ -1634,7 +1634,7 @@ user and associate it with subsequent STOMP messages on the same session:
Also note that when using Spring Security's authorization for messages, at present Also note that when using Spring Security's authorization for messages, at present
you will need to ensure that the authentication `ChannelInterceptor` config is ordered you will need to ensure that the authentication `ChannelInterceptor` config is ordered
ahead of Spring Security's. This is best done by declaring the custom interceptor in ahead of Spring Security's. This is best done by declaring the custom interceptor in
its own sub-class of `AbstractWebSocketMessageBrokerConfigurer` marked with its own implementation of `WebSocketMessageBrokerConfigurer` marked with
`@Order(Ordered.HIGHEST_PRECEDENCE + 99)`. `@Order(Ordered.HIGHEST_PRECEDENCE + 99)`.
@ -1811,7 +1811,7 @@ to intercept inbound messages:
---- ----
@Configuration @Configuration
@EnableWebSocketMessageBroker @EnableWebSocketMessageBroker
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer { public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {
@Override @Override
public void configureClientInboundChannel(ChannelRegistration registration) { public void configureClientInboundChannel(ChannelRegistration registration) {