Class ReactiveElasticsearchConfiguration

java.lang.Object
org.springframework.data.elasticsearch.config.ElasticsearchConfigurationSupport
org.springframework.data.elasticsearch.client.elc.ReactiveElasticsearchConfiguration

public abstract class ReactiveElasticsearchConfiguration extends ElasticsearchConfigurationSupport
Base class for a @Configuration class to set up the Elasticsearch connection using the ReactiveElasticsearchClient. This class exposes different parts of the setup as Spring beans. Deriving * classes must provide the ClientConfiguration to use.
Since:
4.4
Author:
Peter-Josef Meisch
  • Constructor Details

    • ReactiveElasticsearchConfiguration

      public ReactiveElasticsearchConfiguration()
  • Method Details

    • clientConfiguration

      @Bean(name="elasticsearchClientConfiguration") public abstract ClientConfiguration clientConfiguration()
      Must be implemented by deriving classes to provide the ClientConfiguration.
      Returns:
      configuration, must not be null
    • elasticsearchRestClient

      @Bean public org.elasticsearch.client.RestClient elasticsearchRestClient(ClientConfiguration clientConfiguration)
      Provides the underlying low level RestClient.
      Parameters:
      clientConfiguration - configuration for the client, must not be null
      Returns:
      RestClient
    • elasticsearchTransport

      @Bean public co.elastic.clients.transport.ElasticsearchTransport elasticsearchTransport(org.elasticsearch.client.RestClient restClient, co.elastic.clients.json.JsonpMapper jsonpMapper)
      Provides the Elasticsearch transport to be used. The default implementation uses the RestClient bean and the JsonpMapper bean provided in this class.
      Returns:
      the ElasticsearchTransport
      Since:
      5.2
    • reactiveElasticsearchClient

      @Bean public ReactiveElasticsearchClient reactiveElasticsearchClient(co.elastic.clients.transport.ElasticsearchTransport transport)
      Provides the ReactiveElasticsearchClient instance used.
      Parameters:
      transport - the ElasticsearchTransport to use
      Returns:
      ReactiveElasticsearchClient instance.
    • reactiveElasticsearchOperations

      @Bean(name={"reactiveElasticsearchOperations","reactiveElasticsearchTemplate"}) public ReactiveElasticsearchOperations reactiveElasticsearchOperations(ElasticsearchConverter elasticsearchConverter, ReactiveElasticsearchClient reactiveElasticsearchClient)
      Returns:
      never null.
    • jsonpMapper

      @Bean public co.elastic.clients.json.JsonpMapper jsonpMapper()
      Provides the JsonpMapper that is used in the elasticsearchTransport(RestClient, JsonpMapper) method and exposes it as a bean.
      Returns:
      the JsonpMapper to use
      Since:
      5.2
    • transportOptions

      public co.elastic.clients.transport.TransportOptions transportOptions()
      Returns:
      the options that should be added to every request. Must not be null