Skip to content

Commit 6dcd2de

Browse files
committed
Merge pull request #49695 from kwondh5217
* kwondh5217/main: Add @ConditionalOnWebApplication to NettyReactiveWebServerAutoConfiguration Closes gh-49695
2 parents e464348 + 0b45618 commit 6dcd2de

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

module/spring-boot-reactor-netty/src/main/java/org/springframework/boot/reactor/netty/autoconfigure/NettyReactiveWebServerAutoConfiguration.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@
2323
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
2424
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
2525
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
26+
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
27+
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type;
2628
import org.springframework.boot.context.properties.EnableConfigurationProperties;
2729
import org.springframework.boot.reactor.netty.NettyReactiveWebServerFactory;
2830
import org.springframework.boot.reactor.netty.NettyRouteProvider;
@@ -42,10 +44,12 @@
4244
* server.
4345
*
4446
* @author Andy Wilkinson
47+
* @author Daeho Kwon
4548
* @since 4.0.0
4649
*/
4750
@AutoConfiguration
4851
@ConditionalOnClass({ ReactiveHttpInputMessage.class, HttpServer.class })
52+
@ConditionalOnWebApplication(type = Type.REACTIVE)
4953
@EnableConfigurationProperties(NettyServerProperties.class)
5054
@Import({ ReactiveWebServerConfiguration.class, ReactorResourceFactoryConfiguration.class })
5155
public final class NettyReactiveWebServerAutoConfiguration {

module/spring-boot-reactor-netty/src/test/java/org/springframework/boot/reactor/netty/autoconfigure/NettyReactiveWebServerAutoConfigurationTests.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,13 @@
1919
import org.junit.jupiter.api.Test;
2020
import reactor.netty.http.server.HttpServer;
2121

22+
import org.springframework.boot.autoconfigure.AutoConfigurations;
2223
import org.springframework.boot.reactor.netty.NettyReactiveWebServerFactory;
2324
import org.springframework.boot.reactor.netty.NettyServerCustomizer;
25+
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
2426
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
2527
import org.springframework.boot.web.server.autoconfigure.reactive.AbstractReactiveWebServerAutoConfigurationTests;
28+
import org.springframework.boot.web.server.reactive.ReactiveWebServerFactory;
2629
import org.springframework.context.annotation.Bean;
2730
import org.springframework.context.annotation.Configuration;
2831

@@ -39,6 +42,7 @@
3942
* @author Raheela Aslam
4043
* @author Madhura Bhave
4144
* @author Scott Frederick
45+
* @author Daeho Kwon
4246
*/
4347
// @DirtiesUrlFactories
4448
class NettyReactiveWebServerAutoConfigurationTests extends AbstractReactiveWebServerAutoConfigurationTests {
@@ -67,6 +71,13 @@ void nettyServerCustomizerRegisteredAsBeanAndViaFactoryIsOnlyCalledOnce() {
6771
});
6872
}
6973

74+
@Test
75+
void autoConfigurationDoesNotApplyToNonWebApplication() {
76+
new ApplicationContextRunner()
77+
.withConfiguration(AutoConfigurations.of(NettyReactiveWebServerAutoConfiguration.class))
78+
.run((context) -> assertThat(context).doesNotHaveBean(ReactiveWebServerFactory.class));
79+
}
80+
7081
@Configuration(proxyBeanMethods = false)
7182
static class NettyServerCustomizerConfiguration {
7283

0 commit comments

Comments
 (0)