Skip to content

Latest commit

 

History

History
35 lines (28 loc) · 945 Bytes

File metadata and controls

35 lines (28 loc) · 945 Bytes

CDI Integration

The Spring Data Elasticsearch repositories can also be set up using CDI functionality.

Example 1. Spring Data Elasticsearch repositories using CDI
class ElasticsearchTemplateProducer {

  @Produces
  @ApplicationScoped
  public ElasticsearchOperations createElasticsearchTemplate() {
    // ...                               (1)
  }
}

class ProductService {

  private ProductRepository repository;  (2)
  public Page<Product> findAvailableBookByName(String name, Pageable pageable) {
    return repository.findByAvailableTrueAndNameStartingWith(name, pageable);
  }
  @Inject
  public void setRepository(ProductRepository repository) {
    this.repository = repository;
  }
}
  1. Create a component by using the same calls as are used in the Elasticsearch Operations chapter.

  2. Let the CDI framework inject the Repository into your class.