package cf.spring; import org.apache.http.client.HttpClient; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.impl.conn.PoolingClientConnectionManager; import org.springframework.beans.factory.DisposableBean; import org.springframework.beans.factory.FactoryBean; /** * @author Mike Heath */ public class HttpClientFactoryBean implements FactoryBean<HttpClient>, DisposableBean { private final HttpClient httpClient = new DefaultHttpClient(new PoolingClientConnectionManager()); @Override public void destroy() throws Exception { httpClient.getConnectionManager().shutdown(); } @Override public HttpClient getObject() throws Exception { return httpClient; } @Override public Class<?> getObjectType() { return httpClient.getClass(); } @Override public boolean isSingleton() { return true; } }