package org.atomnuke.service.http.client; import org.apache.http.client.HttpClient; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.impl.conn.PoolingClientConnectionManager; import org.atomnuke.container.service.annotation.NukeService; import org.atomnuke.lifecycle.InitializationException; import org.atomnuke.service.ServiceContext; import org.atomnuke.service.runtime.AbstractRuntimeService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Gee, that was easy... * * @author zinic */ @NukeService public class HttpClientService extends AbstractRuntimeService { private static final Logger LOG = LoggerFactory.getLogger(HttpClientService.class); private HttpClient httpClient; public HttpClientService() { super(HttpClient.class); } @Override public Object instance() { return httpClient; } @Override public void init(ServiceContext contextObject) throws InitializationException { httpClient = new DefaultHttpClient(new PoolingClientConnectionManager()); } @Override public void destroy() { try { httpClient.getConnectionManager().shutdown(); } catch (Exception ex) { LOG.error(ex.getMessage(), ex); } } }