java實(shí)現(xiàn)HttpClient異步請(qǐng)求資源的方法
本文實(shí)例講述了java實(shí)現(xiàn)HttpClient異步請(qǐng)求資源的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
package demo; import java.util.concurrent.CountDownLatch; import org.apache.http.HttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.nio.client.DefaultHttpAsyncClient; import org.apache.http.nio.client.HttpAsyncClient; import org.apache.http.nio.concurrent.FutureCallback; import org.apache.http.nio.reactor.IOReactorException; public class Main { /** * @param args * @throws IOReactorException * @throws InterruptedException */ public static void main(String[] args) throws IOReactorException, InterruptedException { final HttpAsyncClient httpclient = new DefaultHttpAsyncClient(); httpclient.start(); HttpGet[] requests = new HttpGet[] { new HttpGet("http://www.apache.org/"), new HttpGet("https://www.verisign.com/"), new HttpGet("http://www.google.com/") }; final CountDownLatch latch = new CountDownLatch(requests.length); try { for (final HttpGet request: requests) { httpclient.execute(request, new FutureCallback<HttpResponse>() { public void completed(final HttpResponse response) { latch.countDown(); System.out.println(request.getRequestLine() + "->" + response.getStatusLine()); } public void failed(final Exception ex) { latch.countDown(); ex.printStackTrace(); } public void cancelled() { latch.countDown(); } }); } System.out.println("Doing..."); }finally { latch.await(); httpclient.shutdown(); } System.out.println("Done"); } }
希望本文所述對(duì)大家的java程序設(shè)計(jì)有所幫助。
- java使用httpclient 發(fā)送請(qǐng)求的示例
- java?11新特性HttpClient主要組件及發(fā)送請(qǐng)求示例詳解
- Java通過HttpClient進(jìn)行HTTP請(qǐng)求的代碼詳解
- java中httpclient封裝post請(qǐng)求和get的請(qǐng)求實(shí)例
- Java commons-httpclient如果實(shí)現(xiàn)get及post請(qǐng)求
- JAVA通過HttpClient發(fā)送HTTP請(qǐng)求的方法示例
- Java使用HttpClient實(shí)現(xiàn)Post請(qǐng)求實(shí)例
- Java高并發(fā)場(chǎng)景下的 HttpClient請(qǐng)求優(yōu)化實(shí)現(xiàn)
相關(guān)文章
編寫android撥打電話apk應(yīng)用實(shí)例代碼
這篇文章主要介紹了編寫android撥打電話apk應(yīng)用實(shí)例代碼,十分的實(shí)用,這里分享給大家,有需要的小伙伴可以參考下2015-04-04微服務(wù)架構(gòu)設(shè)計(jì)RocketMQ進(jìn)階事務(wù)消息原理詳解
這篇文章主要介紹了為大家介紹了微服務(wù)架構(gòu)中RocketMQ進(jìn)階層面事務(wù)消息的原理詳解,有需要的朋友可以借鑒參考下希望能夠有所幫助2021-10-10springboot+mybatis攔截器方法實(shí)現(xiàn)水平分表操作
這篇文章主要介紹了springboot+mybatis攔截器方法實(shí)現(xiàn)水平分表操作,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-08-08Java中如何使用Gson將對(duì)象轉(zhuǎn)換為JSON字符串
這篇文章主要給大家介紹了關(guān)于Java中如何使用Gson將對(duì)象轉(zhuǎn)換為JSON字符串的相關(guān)資料,Gson是Google的一個(gè)開源項(xiàng)目,可以將Java對(duì)象轉(zhuǎn)換成JSON,也可能將JSON轉(zhuǎn)換成Java對(duì)象,需要的朋友可以參考下2023-11-11Springboot如何實(shí)現(xiàn)Web系統(tǒng)License授權(quán)認(rèn)證
這篇文章主要介紹了Springboot如何實(shí)現(xiàn)Web系統(tǒng)License授權(quán)認(rèn)證,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05詳解分別用Kotlin和java寫RecyclerView的示例
本篇文章主要介紹了詳解分別用Kotlin和java寫RecyclerView的示例,詳解分別用Kotlin和java寫RecyclerView的示例2017-12-12在MyBatis中實(shí)現(xiàn)一對(duì)多查詢和多對(duì)一查詢的方式詳解(各兩種方式)
今天通過兩種方法分別給大家介紹在MyBatis中實(shí)現(xiàn)一對(duì)多查詢和多對(duì)一查詢的方式,每種方式通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2022-01-01