Skip to content

Commit 7f18952

Browse files
committed
Merge branch '3.2.x' into 3.3.x
Closes gh-41678
2 parents c272090 + f6334ca commit 7f18952

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

spring-boot-project/spring-boot-autoconfigure/src/dockerTest/java/org/springframework/boot/autoconfigure/data/elasticsearch/ReactiveElasticsearchRepositoriesAutoConfigurationTests.java

+10
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import org.testcontainers.elasticsearch.ElasticsearchContainer;
2121
import org.testcontainers.junit.jupiter.Container;
2222
import org.testcontainers.junit.jupiter.Testcontainers;
23+
import reactor.core.publisher.Mono;
2324

2425
import org.springframework.boot.autoconfigure.AutoConfigurations;
2526
import org.springframework.boot.autoconfigure.TestAutoConfigurationPackage;
@@ -30,6 +31,7 @@
3031
import org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchClientAutoConfiguration;
3132
import org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchRestClientAutoConfiguration;
3233
import org.springframework.boot.autoconfigure.elasticsearch.ReactiveElasticsearchClientAutoConfiguration;
34+
import org.springframework.boot.test.context.FilteredClassLoader;
3335
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
3436
import org.springframework.boot.testsupport.container.TestImage;
3537
import org.springframework.context.annotation.Configuration;
@@ -62,6 +64,14 @@ class ReactiveElasticsearchRepositoriesAutoConfigurationTests {
6264
"spring.elasticsearch.uris=" + elasticsearch.getHost() + ":" + elasticsearch.getFirstMappedPort(),
6365
"spring.elasticsearch.socket-timeout=30s");
6466

67+
@Test
68+
void backsOffWithoutReactor() {
69+
this.contextRunner.withUserConfiguration(TestConfiguration.class)
70+
.withClassLoader(new FilteredClassLoader(Mono.class))
71+
.run((context) -> assertThat(context)
72+
.doesNotHaveBean(ReactiveElasticsearchRepositoriesAutoConfiguration.class));
73+
}
74+
6575
@Test
6676
void testDefaultRepositoryConfiguration() {
6777
this.contextRunner.withUserConfiguration(TestConfiguration.class)

spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/elasticsearch/ReactiveElasticsearchRepositoriesAutoConfiguration.java

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2012-2022 the original author or authors.
2+
* Copyright 2012-2024 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -16,6 +16,8 @@
1616

1717
package org.springframework.boot.autoconfigure.data.elasticsearch;
1818

19+
import reactor.core.publisher.Mono;
20+
1921
import org.springframework.boot.autoconfigure.AutoConfiguration;
2022
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
2123
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
@@ -36,7 +38,7 @@
3638
* @see EnableReactiveElasticsearchRepositories
3739
*/
3840
@AutoConfiguration
39-
@ConditionalOnClass({ ReactiveElasticsearchClient.class, ReactiveElasticsearchRepository.class })
41+
@ConditionalOnClass({ ReactiveElasticsearchClient.class, ReactiveElasticsearchRepository.class, Mono.class })
4042
@ConditionalOnProperty(prefix = "spring.data.elasticsearch.repositories", name = "enabled", havingValue = "true",
4143
matchIfMissing = true)
4244
@ConditionalOnMissingBean(ReactiveElasticsearchRepositoryFactoryBean.class)

0 commit comments

Comments
 (0)