Skip to content

Commit 5472722

Browse files
authored
DATAES-543 - Adjust configuration support classes so they do not require proxying.
Original PR: #557
1 parent 04ceed2 commit 5472722

File tree

6 files changed

+22
-20
lines changed

6 files changed

+22
-20
lines changed

src/main/java/org/springframework/data/elasticsearch/config/AbstractElasticsearchConfiguration.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,10 @@ public abstract class AbstractElasticsearchConfiguration extends ElasticsearchCo
3131

3232
/**
3333
* Return the {@link RestHighLevelClient} instance used to connect to the cluster. <br />
34-
* Annotate with {@link Bean} in case you want to expose a {@link RestHighLevelClient} instance to the
35-
* {@link org.springframework.context.ApplicationContext}.
3634
*
3735
* @return never {@literal null}.
3836
*/
37+
@Bean
3938
public abstract RestHighLevelClient elasticsearchClient();
4039

4140
/**
@@ -44,7 +43,8 @@ public abstract class AbstractElasticsearchConfiguration extends ElasticsearchCo
4443
* @return never {@literal null}.
4544
*/
4645
@Bean(name = { "elasticsearchOperations", "elasticsearchTemplate" })
47-
public ElasticsearchOperations elasticsearchOperations(ElasticsearchConverter elasticsearchConverter) {
48-
return new ElasticsearchRestTemplate(elasticsearchClient(), elasticsearchConverter);
46+
public ElasticsearchOperations elasticsearchOperations(ElasticsearchConverter elasticsearchConverter,
47+
RestHighLevelClient elasticsearchClient) {
48+
return new ElasticsearchRestTemplate(elasticsearchClient, elasticsearchConverter);
4949
}
5050
}

src/main/java/org/springframework/data/elasticsearch/config/AbstractReactiveElasticsearchConfiguration.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import org.elasticsearch.action.support.IndicesOptions;
1919
import org.elasticsearch.action.support.WriteRequest.RefreshPolicy;
2020
import org.springframework.context.annotation.Bean;
21-
import org.springframework.context.annotation.Configuration;
2221
import org.springframework.data.elasticsearch.client.reactive.ReactiveElasticsearchClient;
2322
import org.springframework.data.elasticsearch.core.ReactiveElasticsearchOperations;
2423
import org.springframework.data.elasticsearch.core.ReactiveElasticsearchTemplate;
@@ -31,16 +30,14 @@
3130
* @since 3.2
3231
* @see ElasticsearchConfigurationSupport
3332
*/
34-
@Configuration
3533
public abstract class AbstractReactiveElasticsearchConfiguration extends ElasticsearchConfigurationSupport {
3634

3735
/**
3836
* Return the {@link ReactiveElasticsearchClient} instance used to connect to the cluster. <br />
39-
* Annotate with {@link Bean} in case you want to expose a {@link ReactiveElasticsearchClient} instance to the
40-
* {@link org.springframework.context.ApplicationContext}.
4137
*
4238
* @return never {@literal null}.
4339
*/
40+
@Bean
4441
public abstract ReactiveElasticsearchClient reactiveElasticsearchClient();
4542

4643
/**
@@ -49,9 +46,10 @@ public abstract class AbstractReactiveElasticsearchConfiguration extends Elastic
4946
* @return never {@literal null}.
5047
*/
5148
@Bean
52-
public ReactiveElasticsearchOperations reactiveElasticsearchTemplate(ElasticsearchConverter elasticsearchConverter) {
49+
public ReactiveElasticsearchOperations reactiveElasticsearchTemplate(ElasticsearchConverter elasticsearchConverter,
50+
ReactiveElasticsearchClient reactiveElasticsearchClient) {
5351

54-
ReactiveElasticsearchTemplate template = new ReactiveElasticsearchTemplate(reactiveElasticsearchClient(),
52+
ReactiveElasticsearchTemplate template = new ReactiveElasticsearchTemplate(reactiveElasticsearchClient,
5553
elasticsearchConverter);
5654
template.setIndicesOptions(indicesOptions());
5755
template.setRefreshPolicy(refreshPolicy());

src/main/java/org/springframework/data/elasticsearch/config/ElasticsearchConfigurationSupport.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,15 +40,16 @@
4040
* @author Peter-Josef Meisch
4141
* @since 3.2
4242
*/
43-
@Configuration
43+
@Configuration(proxyBeanMethods = false)
4444
public class ElasticsearchConfigurationSupport {
4545

4646
@Bean
4747
public ElasticsearchConverter elasticsearchEntityMapper(
48-
SimpleElasticsearchMappingContext elasticsearchMappingContext) {
48+
SimpleElasticsearchMappingContext elasticsearchMappingContext, ElasticsearchCustomConversions elasticsearchCustomConversions) {
49+
4950
MappingElasticsearchConverter elasticsearchConverter = new MappingElasticsearchConverter(
5051
elasticsearchMappingContext);
51-
elasticsearchConverter.setConversions(elasticsearchCustomConversions());
52+
elasticsearchConverter.setConversions(elasticsearchCustomConversions);
5253
return elasticsearchConverter;
5354
}
5455

@@ -60,11 +61,11 @@ public ElasticsearchConverter elasticsearchEntityMapper(
6061
* @return never {@literal null}.
6162
*/
6263
@Bean
63-
public SimpleElasticsearchMappingContext elasticsearchMappingContext() {
64+
public SimpleElasticsearchMappingContext elasticsearchMappingContext(ElasticsearchCustomConversions elasticsearchCustomConversions) {
6465

6566
SimpleElasticsearchMappingContext mappingContext = new SimpleElasticsearchMappingContext();
6667
mappingContext.setInitialEntitySet(getInitialEntitySet());
67-
mappingContext.setSimpleTypeHolder(elasticsearchCustomConversions().getSimpleTypeHolder());
68+
mappingContext.setSimpleTypeHolder(elasticsearchCustomConversions.getSimpleTypeHolder());
6869

6970
return mappingContext;
7071
}

src/test/java/org/springframework/data/elasticsearch/config/ElasticsearchConfigurationSupportUnitTests.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import static org.assertj.core.api.Assertions.*;
1919
import static org.mockito.Mockito.*;
2020

21+
import org.springframework.context.annotation.Bean;
2122
import reactor.core.publisher.Mono;
2223

2324
import java.util.Collection;
@@ -114,6 +115,7 @@ static class StubConfig extends ElasticsearchConfigurationSupport {
114115
static class ReactiveRestConfig extends AbstractReactiveElasticsearchConfiguration {
115116

116117
@Override
118+
@Bean
117119
public ReactiveElasticsearchClient reactiveElasticsearchClient() {
118120
ReactiveElasticsearchClient client = mock(ReactiveElasticsearchClient.class);
119121
when(client.info()).thenReturn(Mono

src/test/java/org/springframework/data/elasticsearch/core/index/MappingContextBaseTests.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,9 @@ private ElasticsearchConverter setupElasticsearchConverter() {
3434

3535
private SimpleElasticsearchMappingContext setupMappingContext() {
3636

37-
SimpleElasticsearchMappingContext mappingContext = new ElasticsearchConfigurationSupport()
38-
.elasticsearchMappingContext();
37+
ElasticsearchConfigurationSupport configurationSupport = new ElasticsearchConfigurationSupport();
38+
SimpleElasticsearchMappingContext mappingContext = configurationSupport
39+
.elasticsearchMappingContext(configurationSupport.elasticsearchCustomConversions());
3940
mappingContext.initialize();
4041
return mappingContext;
4142
}

src/test/java/org/springframework/data/elasticsearch/junit/jupiter/ElasticsearchRestTemplateConfiguration.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,9 @@ public RestHighLevelClient elasticsearchClient() {
6868
}
6969

7070
@Override
71-
public ElasticsearchOperations elasticsearchOperations(ElasticsearchConverter elasticsearchConverter) {
72-
RestHighLevelClient client = elasticsearchClient();
73-
return new ElasticsearchRestTemplate(client, elasticsearchConverter) {
71+
public ElasticsearchOperations elasticsearchOperations(ElasticsearchConverter elasticsearchConverter,
72+
RestHighLevelClient elasticsearchClient) {
73+
return new ElasticsearchRestTemplate(elasticsearchClient, elasticsearchConverter) {
7474
@Override
7575
public <T> T execute(ClientCallback<T> callback) {
7676
try {

0 commit comments

Comments
 (0)