Async Http Client:异步HTTP和WebSocket客户端

 ,  ,  ,  ,  1

Async Http Client库简单易用,旨在让Java应用可以轻松执行HTTP请求和异步处理HTTP响应。同时也支持WebSockets协议。

async-http-client

安装

首先,添加到你的Maven工程:

或者直接下载:Maven Search

AHC(Async Http Client)是一个抽象层,可以独立工作在JDK、Netty和Grizzly之上。

将Netty或者Grizzly添加到你的classpath:

Netty

Grizzly

用法

需要注意的是,即使用getResponseBodyAsStream()方法返回Response对象,所有内容也必须全部读取到内存中。

如果想在你的handler中接收并处理响应,亦可不用Future完成异步(非阻塞)操作:

(在调用onCompleted前全部的Response内容会读进内存)

也可以混合使用Future和AsyncHandler只取异步响应的一部分:

这样你就可以分部处理响应内容,不必全部加载到内存。可用于处理较大的响应对象。

你完全控制Response的生命周期,可以决定任何时候停止处理服务器的返回内容:

配置

最后,你可以通过AsyncHttpClientConfig对象配置AsyncHttpClient:

WebSocket

Async Http Client也支持WebSocket,以下是简单实现:

Async Http Client使用非阻塞的I/O支持异步操作。默认情况下异步功能基于Netty实现,但是也暴露了一个可配置的API。允许使用其他框架,如Grizzly:

开发文档

开源地址:https://github.com/AsyncHttpClient/async-http-client

打赏支持我整理更多优质资源,谢谢!

打赏编辑

打赏支持我整理更多优质资源,谢谢!

任选一种支付方式

1 收藏

资源整理者简介:刘立华

java开发,技术爱好者,乐于助人。 个人主页 · 贡献了32个资源 · 1 ·  


直接登录
最新评论

推荐关注

按分类快速查找

关于资源导航
  • 伯乐在线资源导航收录优秀的工具资源。内容覆盖开发、设计、产品和管理等IT互联网行业相关的领域。目前已经收录 1439 项工具资源。
    推送伯乐头条热点内容微信号:jobbole 分享干货的技术类微信号:iProgrammer