diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AbstractDependsOnBeanFactoryPostProcessor.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AbstractDependsOnBeanFactoryPostProcessor.java index b945eaf99ab..b34f3144046 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AbstractDependsOnBeanFactoryPostProcessor.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AbstractDependsOnBeanFactoryPostProcessor.java @@ -54,7 +54,7 @@ public abstract class AbstractDependsOnBeanFactoryPostProcessor implements BeanF private final Function> dependsOn; /** - * Create an instance with target bean and factory bean classes and dependency names. + * Create an instance with target bean, factory bean classes, and dependency names. * @param beanClass target bean class * @param factoryBeanClass target factory bean class * @param dependsOn dependency names @@ -67,7 +67,7 @@ public abstract class AbstractDependsOnBeanFactoryPostProcessor implements BeanF } /** - * Create an instance with target bean and factory bean classes and dependency types. + * Create an instance with target bean, factory bean classes, and dependency types. * @param beanClass target bean class * @param factoryBeanClass target factory bean class * @param dependencyTypes dependency types diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/mongo/MongoClientDependsOnBeanFactoryPostProcessor.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/mongo/MongoClientDependsOnBeanFactoryPostProcessor.java index 96bfe1ee173..1abe2120325 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/mongo/MongoClientDependsOnBeanFactoryPostProcessor.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/mongo/MongoClientDependsOnBeanFactoryPostProcessor.java @@ -41,7 +41,7 @@ public class MongoClientDependsOnBeanFactoryPostProcessor extends AbstractDepend * dependencies upon beans with the given names. * @param dependsOn names of the beans to depend upon * @deprecated since 2.1.7 in favor of - * {@link #MongoClientDependsOnBeanFactoryPostProcessor} + * {@link #MongoClientDependsOnBeanFactoryPostProcessor(Class...)} */ @Deprecated public MongoClientDependsOnBeanFactoryPostProcessor(String... dependsOn) { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/mongo/ReactiveStreamsMongoClientDependsOnBeanFactoryPostProcessor.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/mongo/ReactiveStreamsMongoClientDependsOnBeanFactoryPostProcessor.java index 52ee096906b..fa236dca485 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/mongo/ReactiveStreamsMongoClientDependsOnBeanFactoryPostProcessor.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/mongo/ReactiveStreamsMongoClientDependsOnBeanFactoryPostProcessor.java @@ -42,7 +42,7 @@ public class ReactiveStreamsMongoClientDependsOnBeanFactoryPostProcessor * that will set up dependencies upon beans with the given names. * @param dependsOn names of the beans to depend upon * @deprecated since 2.1.7 in favor of - * {@link #ReactiveStreamsMongoClientDependsOnBeanFactoryPostProcessor} + * {@link #ReactiveStreamsMongoClientDependsOnBeanFactoryPostProcessor(Class...)} */ @Deprecated public ReactiveStreamsMongoClientDependsOnBeanFactoryPostProcessor(String... dependsOn) { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/activemq/ActiveMQConnectionFactoryConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/activemq/ActiveMQConnectionFactoryConfiguration.java index 1654fd78725..3288d1c233c 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/activemq/ActiveMQConnectionFactoryConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/activemq/ActiveMQConnectionFactoryConfiguration.java @@ -56,6 +56,11 @@ class ActiveMQConnectionFactoryConfiguration { @ConditionalOnProperty(prefix = "spring.jms.cache", name = "enabled", havingValue = "false") ActiveMQConnectionFactory jmsConnectionFactory(ActiveMQProperties properties, ObjectProvider factoryCustomizers) { + return createJmsConnectionFactory(properties, factoryCustomizers); + } + + private static ActiveMQConnectionFactory createJmsConnectionFactory(ActiveMQProperties properties, + ObjectProvider factoryCustomizers) { return new ActiveMQConnectionFactoryFactory(properties, factoryCustomizers.orderedStream().collect(Collectors.toList())) .createConnectionFactory(ActiveMQConnectionFactory.class); @@ -68,16 +73,12 @@ class ActiveMQConnectionFactoryConfiguration { static class CachingConnectionFactoryConfiguration { @Bean - @ConditionalOnProperty(prefix = "spring.jms.cache", name = "enabled", havingValue = "true", - matchIfMissing = true) CachingConnectionFactory cachingJmsConnectionFactory(JmsProperties jmsProperties, ActiveMQProperties properties, ObjectProvider factoryCustomizers) { JmsProperties.Cache cacheProperties = jmsProperties.getCache(); CachingConnectionFactory connectionFactory = new CachingConnectionFactory( - new ActiveMQConnectionFactoryFactory(properties, - factoryCustomizers.orderedStream().collect(Collectors.toList())) - .createConnectionFactory(ActiveMQConnectionFactory.class)); + createJmsConnectionFactory(properties, factoryCustomizers)); connectionFactory.setCacheConsumers(cacheProperties.isConsumers()); connectionFactory.setCacheProducers(cacheProperties.isProducers()); connectionFactory.setSessionCacheSize(cacheProperties.getSessionCacheSize()); diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/mongo/embedded/EmbeddedMongoAutoConfigurationTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/mongo/embedded/EmbeddedMongoAutoConfigurationTests.java index 0520fdadacc..622bb9c1460 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/mongo/embedded/EmbeddedMongoAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/mongo/embedded/EmbeddedMongoAutoConfigurationTests.java @@ -194,6 +194,7 @@ class EmbeddedMongoAutoConfigurationTests { void customMongoServerConfiguration() { load(CustomMongoConfiguration.class); Map mongoClients = this.context.getBeansOfType(MongoClient.class); + assertThat(mongoClients).isNotEmpty(); for (String mongoClientBeanName : mongoClients.keySet()) { BeanDefinition beanDefinition = this.context.getBeanFactory().getBeanDefinition(mongoClientBeanName); assertThat(beanDefinition.getDependsOn()).contains("customMongoServer");