/* * Copyright (c) 2015. Bearchoke */ package com.bearchoke.platform.persistence.search.config; import io.searchbox.client.JestClient; import io.searchbox.client.JestClientFactory; import io.searchbox.client.config.HttpClientConfig; import lombok.extern.log4j.Log4j2; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.env.Environment; import javax.inject.Inject; @Configuration @Log4j2 public class ElasticsearchConfig { @Inject private Environment environment; @Bean(destroyMethod = "shutdownClient") public JestClient jestClient() { // Construct a new Jest client according to configuration via factory JestClientFactory factory = new JestClientFactory(); factory.setHttpClientConfig(new HttpClientConfig .Builder(environment.getProperty("jest.url")) .connTimeout(15000) .readTimeout(30000) .multiThreaded(true) .build()); return factory.getObject(); } }