Configuring the AsyncHttpClient.
You can configure the AsyncHttpClient class using the AsyncHttpClientConfig's Builder:
Builder builder = new AsyncHttpClientConfig.Builder(); builder.setCompressionEnabled(true) .setAllowPoolingConnection(true) .setRequestTimesout(30000) .build(); AsyncHttpClient client = new AsyncHttpClient(builder.build());
You can set the ExecutorServices as well if you don't want to use the default, which is a cached threads pool:
Builder builder = new AsyncHttpClientConfig.Builder(); builder.setExecutorService(myOwnThreadPool); AsyncHttpClient client = new AsyncHttpClient(builder.build());
You can also configure the connection pool the library is using and implement your own polling strategy:
Builder builder = new AsyncHttpClientConfig.Builder(); builder.setConnectionsPool(new ConnectionsPoo<U,V>() { public boolean offer(U uri, V connection) {...} public V poll(U uri) {...} public boolean removeAll(V connection) {...} public boolean canCacheConnection() {...} public void destroy() {...} }); AsyncHttpClient client = new AsyncHttpClient(builder.build());
It is recommended to use the default connections pool for performance reason, but you are always free to design a better one.
You can also set the SSL information, Filters, etc. Those topics will be covered inside their own section.