From 2cb6af959b91da31ffc3060295b0f6ec262d0a30 Mon Sep 17 00:00:00 2001 From: Spencer Gibb Date: Mon, 24 Jun 2019 16:13:36 -0400 Subject: [PATCH 1/2] Make rSocketServerBootstrap @ConditionalOnMissingBean 7857dd2d7230ab48c53e8648c23647e3b793b895 broke gateway's ability to override the `SocketAcceptor`. --- .../autoconfigure/rsocket/RSocketServerAutoConfiguration.java | 1 + 1 file changed, 1 insertion(+) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/rsocket/RSocketServerAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/rsocket/RSocketServerAutoConfiguration.java index b02aae7f49c..c908cf35854 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/rsocket/RSocketServerAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/rsocket/RSocketServerAutoConfiguration.java @@ -98,6 +98,7 @@ public class RSocketServerAutoConfiguration { } @Bean + @ConditionalOnMissingBean public RSocketServerBootstrap rSocketServerBootstrap(RSocketServerFactory rSocketServerFactory, RSocketMessageHandler rSocketMessageHandler) { return new RSocketServerBootstrap(rSocketServerFactory, rSocketMessageHandler.serverAcceptor()); From 9166b6d32933758427ebdac98421436a72f01945 Mon Sep 17 00:00:00 2001 From: Brian Clozel Date: Tue, 25 Jun 2019 11:25:11 +0200 Subject: [PATCH 2/2] Polish "Make rSocketServerBootstrap @ConditionalOnMissingBean" See gh-17301 --- .../RSocketServerAutoConfigurationTests.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/rsocket/RSocketServerAutoConfigurationTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/rsocket/RSocketServerAutoConfigurationTests.java index f3f0ebd25a3..5ba0849f0ab 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/rsocket/RSocketServerAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/rsocket/RSocketServerAutoConfigurationTests.java @@ -32,6 +32,7 @@ import org.springframework.messaging.rsocket.RSocketStrategies; import org.springframework.messaging.rsocket.annotation.support.RSocketMessageHandler; import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.Mockito.mock; /** * Tests for {@link RSocketServerAutoConfiguration}. @@ -77,6 +78,12 @@ class RSocketServerAutoConfigurationTests { .hasSingleBean(RSocketServerBootstrap.class)); } + @Test + void shoudUseCustomServerBootstrap() { + contextRunner().withUserConfiguration(CustomServerBootstrapConfig.class).run((context) -> assertThat(context) + .getBeanNames(RSocketServerBootstrap.class).containsExactly("customServerBootstrap")); + } + private ApplicationContextRunner contextRunner() { return new ApplicationContextRunner().withUserConfiguration(BaseConfiguration.class) .withConfiguration(AutoConfigurations.of(RSocketServerAutoConfiguration.class)); @@ -100,4 +107,14 @@ class RSocketServerAutoConfigurationTests { } + @Configuration(proxyBeanMethods = false) + static class CustomServerBootstrapConfig { + + @Bean + public RSocketServerBootstrap customServerBootstrap() { + return mock(RSocketServerBootstrap.class); + } + + } + }