ESRestHighLevelClientPoolFactory.java工厂类,实现pooledObjectFactory:
package ElasticsearchRestHighLevelClientPool;
import org.apache.commons.pool2.PooledObject;
import org.apache.commons.pool2.PooledObjectFactory;
import org.apache.commons.pool2.impl.DefaultPooledObject;
import org.apache.http.HttpHost;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestHighLevelClient;
public class EShRestHighLevelClientPoolFactory implements PooledObjectFactory<RestHighLevelClient> {
private HttpHost[] httpHosts;
public EShRestHighLevelClientPoolFactory(HttpHost... httpHosts) {//构造方法传入连接信息
this.httpHosts = httpHosts;
}
public PooledObject<RestHighLevelClient> makeObject() throws Exception {
return new DefaultPooledObject<RestHighLevelClient>(new RestHighLevelClient(RestClient.builder(httpHosts)));
}
public void destroyObject(PooledObject<R