Skip to content

Commit ccf136c

Browse files
authored
CDI implementation uses the new Elasticsearch client.
Original Pull Request #2293 Closes #2292
1 parent 77da225 commit ccf136c

File tree

2 files changed

+20
-10
lines changed

2 files changed

+20
-10
lines changed

src/main/java/org/springframework/data/elasticsearch/client/elc/ElasticsearchTemplate.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,17 @@ public class ElasticsearchTemplate extends AbstractElasticsearchTemplate {
8080
private final ElasticsearchExceptionTranslator exceptionTranslator;
8181

8282
// region _initialization
83+
public ElasticsearchTemplate(ElasticsearchClient client) {
84+
85+
Assert.notNull(client, "client must not be null");
86+
87+
this.client = client;
88+
this.jsonpMapper = client._transport().jsonpMapper();
89+
requestConverter = new RequestConverter(elasticsearchConverter, jsonpMapper);
90+
responseConverter = new ResponseConverter(jsonpMapper);
91+
exceptionTranslator = new ElasticsearchExceptionTranslator(jsonpMapper);
92+
}
93+
8394
public ElasticsearchTemplate(ElasticsearchClient client, ElasticsearchConverter elasticsearchConverter) {
8495
super(elasticsearchConverter);
8596

src/test/java/org/springframework/data/elasticsearch/repositories/cdi/ElasticsearchOperationsProducer.java

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,15 @@
1717

1818
import static org.springframework.util.StringUtils.*;
1919

20+
import co.elastic.clients.elasticsearch.ElasticsearchClient;
2021
import jakarta.annotation.PreDestroy;
2122
import jakarta.enterprise.context.ApplicationScoped;
2223
import jakarta.enterprise.inject.Produces;
2324

24-
import org.elasticsearch.client.RestHighLevelClient;
2525
import org.springframework.data.elasticsearch.client.ClientConfiguration;
26-
import org.springframework.data.elasticsearch.client.erhlc.RestClients;
26+
import org.springframework.data.elasticsearch.client.elc.ElasticsearchClients;
27+
import org.springframework.data.elasticsearch.client.elc.ElasticsearchTemplate;
2728
import org.springframework.data.elasticsearch.core.ElasticsearchOperations;
28-
import org.springframework.data.elasticsearch.client.erhlc.ElasticsearchRestTemplate;
2929
import org.springframework.data.elasticsearch.junit.jupiter.ClusterConnection;
3030
import org.springframework.data.elasticsearch.junit.jupiter.ClusterConnectionInfo;
3131

@@ -36,17 +36,16 @@
3636
@ApplicationScoped
3737
class ElasticsearchOperationsProducer {
3838

39-
// todo #1973 switch to use the new client
4039
@Produces
41-
public ElasticsearchOperations createElasticsearchTemplate(RestHighLevelClient restHighLevelClient) {
42-
return new ElasticsearchRestTemplate(restHighLevelClient);
40+
public ElasticsearchOperations createElasticsearchTemplate(ElasticsearchClient elasticsearchClient) {
41+
return new ElasticsearchTemplate(elasticsearchClient);
4342
}
4443

4544
@Produces
4645
@OtherQualifier
4746
@PersonDB
48-
public ElasticsearchOperations createQualifiedElasticsearchTemplate(RestHighLevelClient restHighLevelClient) {
49-
return new ElasticsearchRestTemplate(restHighLevelClient);
47+
public ElasticsearchOperations createQualifiedElasticsearchTemplate(ElasticsearchClient elasticsearchClient) {
48+
return new ElasticsearchTemplate(elasticsearchClient);
5049
}
5150

5251
@PreDestroy
@@ -55,7 +54,7 @@ public void shutdown() {
5554
}
5655

5756
@Produces
58-
public RestHighLevelClient elasticsearchClient() {
57+
public ElasticsearchClient elasticsearchClient() {
5958
// we rely on the tests being run with the SpringDataElasticsearchExtension class that sets up a containerized ES.
6059
ClusterConnectionInfo connectionInfo = ClusterConnection.clusterConnectionInfo();
6160

@@ -72,6 +71,6 @@ public RestHighLevelClient elasticsearchClient() {
7271
ClientConfiguration clientConfiguration = configurationBuilder //
7372
.build();
7473

75-
return RestClients.create(clientConfiguration).rest();
74+
return ElasticsearchClients.createImperative(clientConfiguration);
7675
}
7776
}

0 commit comments

Comments
 (0)