类org.apache.http.nio.client.methods.HttpAsyncMethods源码实例Demo

下面列出了怎么用org.apache.http.nio.client.methods.HttpAsyncMethods的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: log4j2-elasticsearch   文件: HttpClient.java
public <T extends Response> void executeAsync(
        final Request request,
        final ResponseHandler<T> responseHandler,
        final HttpClientContext httpClientContext
) {

    HttpUriRequest clientRequest;
    try {
        clientRequest = createClientRequest(request);
    } catch (IOException e) {
        responseHandler.failed(e);
        return;
    }

    FutureCallback<HttpResponse> responseCallback = createCallback(responseHandler);
    getAsyncClient().execute(
            HttpAsyncMethods.create(clientRequest),
            asyncResponseConsumerFactory.create(),
            httpClientContext,
            responseCallback);
}
 
public static void main(final String[] args) throws Exception {
    CloseableHttpAsyncClient httpclient = HttpAsyncClients.createDefault();
    try {
        httpclient.start();
        Future<Boolean> future = httpclient.execute(HttpAsyncMethods.createGet("http://localhost:8080/"),
                new MyResponseConsumer(), null);
        Boolean result = future.get();
        if (result != null && result.booleanValue()) {
            System.out.println("Request successfully executed");
        } else {
            System.out.println("Request failed");
        }
        System.out.println("Shutting down");
    } finally {
        httpclient.close();
    }
    System.out.println("Done");
}
 
源代码3 项目: jlitespider   文件: AsyncNetwork.java
@SuppressWarnings("unchecked")
public void begin() throws InterruptedException {
	CloseableHttpAsyncClient httpclient = httpAsyncClientBuilder.build();
	httpclient.start();
	new Thread(() -> {
		while (true) {
			try {
				Url url = this.urlQueue.take();
				httpclient.execute(HttpAsyncMethods.createGet(url.url), new MyResponseConsumer(url), new MyFutureCallback(url));
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}).start();

}
 
public void executeRequest() {
    final HttpPost request = new HttpPost(mBuilder.mUri);
    for (Map.Entry<String, String> entry : mBuilder.mHeaders.entrySet()) {
        request.addHeader(entry.getKey(), entry.getValue());
    }
    final HttpEntity entity = new StringEntity(mBuilder.mContentInJson, mBuilder.mContentType);
    request.setEntity(entity);
    final HttpAsyncRequestProducer requestProducer = HttpAsyncMethods.create(request);
    this.mHttpClient.execute(requestProducer, ((Builder) mBuilder).mHttpAsyncResponseConsumer,
            ((Builder) mBuilder).mFutureCallback);
}
 
源代码5 项目: JMCCC   文件: HttpAsyncDownloader.java
private void download() {
	if (Thread.interrupted() || isExceptional()) {
		lifecycle().cancelled();
		return;
	}

	FutureManager<T> manager = createFutureManager();
	DownloadRetryHandler retryHandler = new DownloadRetryHandler();
	DownloadSessionHandler<T> handler = new DownloadSessionHandler<>(task, DownloadCallbacks.group(DownloadCallbacks.fromCallback(manager), retryHandler));
	Future<T> downloadFuture = httpClient.execute(HttpAsyncMethods.createGet(task.getURI()), handler.consumer, handler.callback);
	manager.setFuture(downloadFuture);
}
 
源代码6 项目: newts   文件: ImportRunner.java
public static Func1<String, Observable<ObservableHttpResponse>> postJSON(final String baseURL, final CloseableHttpAsyncClient httpClient) {

        final URI baseURI = URI.create(baseURL);

        return new Func1<String, Observable<ObservableHttpResponse>>() {
            @Override
            public Observable<ObservableHttpResponse> call(String json) {
                try {
                    return ObservableHttp.createRequest(HttpAsyncMethods.createPost(baseURI, json, ContentType.APPLICATION_JSON), httpClient).toObservable();
                } catch (UnsupportedEncodingException e) {
                    throw Exceptions.propagate(e);
                }
            }
        };
    }
 
源代码7 项目: log4j2-elasticsearch   文件: HttpClientFactory.java
protected HttpAsyncResponseConsumerFactory createHttpAsyncResponseConsumerFactory() {
    if (pooledResponseBuffersEnabled) {
        return new PoolingAsyncResponseConsumerFactory(createPool());
    }
    return () -> HttpAsyncMethods.createConsumer();
}
 
/**
 * Retries given HTTP request. Called internally only, from the HttpFuture
 *
 * @param httpUriRequest the HttpUriRequest to retry
 * @param responseConsumer the response consumer
 * @param numRetry The retry count
 * @return the resulting Future<HttpResponse> instance
 */
Future<HttpResponse> retryOperation( HttpUriRequest httpUriRequest, HttpAsyncResponseConsumer<HttpResponse> responseConsumer, int numRetry ) {
    httpUriRequest.setHeader( "X-Tio-Retry-Count", Integer.toString( numRetry ) );
    return responseConsumer == null ? asyncClient.execute( httpUriRequest, null ) : asyncClient.execute( HttpAsyncMethods.create( httpUriRequest ), responseConsumer, null, null );
}
 
 类所在包
 同包方法