Browse Source

Merge branch '3.4.x' into 3.5.x

Closes gh-46170
pull/46457/head
Moritz Halbritter 8 months ago
parent
commit
4fad815743
  1. 7
      spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/netty/NettyAutoConfiguration.java
  2. 25
      spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/netty/NettyAutoConfigurationTests.java

7
spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/netty/NettyAutoConfiguration.java

@ -19,10 +19,12 @@ package org.springframework.boot.autoconfigure.netty; @@ -19,10 +19,12 @@ package org.springframework.boot.autoconfigure.netty;
import io.netty.util.NettyRuntime;
import io.netty.util.ResourceLeakDetector;
import org.springframework.boot.LazyInitializationExcludeFilter;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
/**
* {@link EnableAutoConfiguration Auto-configuration} for Netty.
@ -42,4 +44,9 @@ public class NettyAutoConfiguration { @@ -42,4 +44,9 @@ public class NettyAutoConfiguration {
}
}
@Bean
static LazyInitializationExcludeFilter nettyAutoConfigurationLazyInitializationExcludeFilter() {
return LazyInitializationExcludeFilter.forBeanTypes(NettyAutoConfiguration.class);
}
}

25
spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/netty/NettyAutoConfigurationTests.java

@ -17,8 +17,10 @@ @@ -17,8 +17,10 @@
package org.springframework.boot.autoconfigure.netty;
import io.netty.util.ResourceLeakDetector;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
import org.springframework.boot.LazyInitializationBeanFactoryPostProcessor;
import org.springframework.boot.autoconfigure.AutoConfigurations;
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
@ -34,13 +36,26 @@ class NettyAutoConfigurationTests { @@ -34,13 +36,26 @@ class NettyAutoConfigurationTests {
private final ApplicationContextRunner contextRunner = new ApplicationContextRunner()
.withConfiguration(AutoConfigurations.of(NettyAutoConfiguration.class));
@AfterEach
void resetResourceLeakDetector() {
ResourceLeakDetector.setLevel(ResourceLeakDetector.Level.DISABLED);
}
@Test
void leakDetectionShouldBeConfigured() {
this.contextRunner.withPropertyValues("spring.netty.leak-detection=paranoid").run((context) -> {
assertThat(ResourceLeakDetector.getLevel()).isEqualTo(ResourceLeakDetector.Level.PARANOID);
// reset configuration for the following tests.
ResourceLeakDetector.setLevel(ResourceLeakDetector.Level.DISABLED);
});
this.contextRunner.withPropertyValues("spring.netty.leak-detection=paranoid")
.run((context) -> assertThat(ResourceLeakDetector.getLevel())
.isEqualTo(ResourceLeakDetector.Level.PARANOID));
}
@Test
void leakDetectionShouldBeConfiguredWhenLazyInitializationIsEnabled() {
this.contextRunner
.withInitializer(
(context) -> context.addBeanFactoryPostProcessor(new LazyInitializationBeanFactoryPostProcessor()))
.withPropertyValues("spring.netty.leak-detection=advanced")
.run((context) -> assertThat(ResourceLeakDetector.getLevel())
.isEqualTo(ResourceLeakDetector.Level.ADVANCED));
}
}

Loading…
Cancel
Save