Java tutorial
package org.apache.http.impl.pool; import java.util.concurrent.atomic.AtomicLong; import org.apache.http.HttpClientConnection; import org.apache.http.HttpHost; import org.apache.http.annotation.ThreadSafe; import org.apache.http.config.ConnectionConfig; import org.apache.http.config.SocketConfig; import org.apache.http.params.HttpParams; import org.apache.http.pool.AbstractConnPool; import org.apache.http.pool.ConnFactory; @ThreadSafe public class BasicConnPool extends AbstractConnPool<HttpHost, HttpClientConnection, BasicPoolEntry> { private static final AtomicLong COUNTER; static { COUNTER = new AtomicLong(); } public BasicConnPool(ConnFactory<HttpHost, HttpClientConnection> connFactory) { super(connFactory, 2, 20); } @Deprecated public BasicConnPool(HttpParams httpParams) { super(new BasicConnFactory(httpParams), 2, 20); } public BasicConnPool(SocketConfig socketConfig, ConnectionConfig connectionConfig) { super(new BasicConnFactory(socketConfig, connectionConfig), 2, 20); } public BasicConnPool() { super(new BasicConnFactory(SocketConfig.DEFAULT, ConnectionConfig.DEFAULT), 2, 20); } protected BasicPoolEntry createEntry(HttpHost httpHost, HttpClientConnection httpClientConnection) { return new BasicPoolEntry(Long.toString(COUNTER.getAndIncrement()), httpHost, httpClientConnection); } }