Browse Source

Revert "Prevent duplicate DynamicPropertyRegistry beans"

This partially reverts commit 4d4b189cce.
The changes to main code are no longer needed as Framework's test
context framework no longer defines a DynamicPropertyRegistry bean. The
changes to test code have been kept to verify that @SpringBootTest and
TestcontainersPropertySourceAutoConfiguration continue to work in
combination.

Closes gh-42275
pull/42289/head
Andy Wilkinson 1 year ago
parent
commit
2bfd784d7b
  1. 22
      spring-boot-project/spring-boot-testcontainers/src/main/java/org/springframework/boot/testcontainers/properties/TestcontainersPropertySourceAutoConfiguration.java

22
spring-boot-project/spring-boot-testcontainers/src/main/java/org/springframework/boot/testcontainers/properties/TestcontainersPropertySourceAutoConfiguration.java

@ -16,10 +16,6 @@ @@ -16,10 +16,6 @@
package org.springframework.boot.testcontainers.properties;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanFactoryPostProcessor;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
import org.springframework.beans.factory.support.DefaultSingletonBeanRegistry;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.context.ConfigurableApplicationContext;
@ -43,27 +39,9 @@ public class TestcontainersPropertySourceAutoConfiguration { @@ -43,27 +39,9 @@ public class TestcontainersPropertySourceAutoConfiguration {
TestcontainersPropertySourceAutoConfiguration() {
}
@Bean
static RemoveTestDynamicPropertyRegistryBeanPostProcessor removeTestDynamicPropertyRegistryBeanPostProcessor() {
return new RemoveTestDynamicPropertyRegistryBeanPostProcessor();
}
@Bean
static DynamicPropertyRegistry dynamicPropertyRegistry(ConfigurableApplicationContext applicationContext) {
return TestcontainersPropertySource.attach(applicationContext);
}
static class RemoveTestDynamicPropertyRegistryBeanPostProcessor implements BeanFactoryPostProcessor {
@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
if (beanFactory instanceof DefaultSingletonBeanRegistry singletonBeanRegistry) {
singletonBeanRegistry
.destroySingleton("org.springframework.test.context.support.DynamicPropertiesContextCustomizer"
+ ".dynamicPropertyRegistry");
}
}
}
}

Loading…
Cancel
Save