package com.jackson.reservoir;
import com.jackson.net.HttpClientCreater;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.util.LinkedList;
/**
* Created by Jackson on 2016/10/27.
*/
@Deprecated
public class HttpClientPool {
private static Logger logger = LogManager.getLogger(HttpClientPool.class.getName());
private final LinkedList<CloseableHttpClient> clientPool;
private CreateHttpClientHandler handler;
public HttpClientPool(){
clientPool = new LinkedList<>();
}
public synchronized CloseableHttpClient pollHttpClient(){
/*logger.debug("获取HttpClient");
if(clientPool.size()==0){
if(handler!=null){
return handler.createDefault();
}else {
return HttpClientCreater.instance.getDefaultClient();
}
}
return clientPool.poll();*/
return HttpClientCreater.instance.getHttpClient();
}
public synchronized void offerHttpClient(CloseableHttpClient client){
/*logger.debug("回收httpClient{},当前HttpClientPool里client的数量为:{}",client.toString(),clientPool.size());
clientPool.offer(client);*/
}
public synchronized CloseableHttpClient pollHttpsClient(){
return HttpClientCreater.instance.getHttpsClient();
}
public synchronized void offerHttpsClient(CloseableHttpClient client){
/*logger.debug("回收httpsClient{},当前HttpClientPool里client的数量为:{}",client.toString(),clientPool.size());
clientPool.offer(client);*/
}
public void setCreateHandler(CreateHttpClientHandler handler){
this.handler = handler;
}
public interface CreateHttpClientHandler {
CloseableHttpClient createDefault();
}
}