首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何以异步方式发出web请求

如何以异步方式发出web请求
EN

Stack Overflow用户
提问于 2011-04-05 02:37:54
回答 3查看 682关注 0票数 1

我需要从Java向RESTful服务器发出web请求。我希望我的Java代码能够异步处理响应。我正在寻找一个框架,处理线程和回调的请求。

顺便说一句,我看了一下FutureTask,它似乎不是我所需要的,因为它需要客户端等待它在某个时刻完成。我正在寻找完成时的回调。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-04-05 02:55:58

顺便说一下,我看了一下FutureTask,它似乎不是我所需要的,因为它需要客户端等待它在某个时刻完成。

您不必从发起线程调用FutureTask.get()来获取任务的结果。您可以将Callable传递给FutureTask,还可以将其输出传递给其他组件。有了get()方法,您就可以获得异步计算的结果,如果还没有完成,可能需要等待计算完成。

如果你更喜欢回调风格,你可以简单地让Callable调用你自己构造的回调,或者自己处理结果。

票数 3
EN

Stack Overflow用户

发布于 2011-04-05 02:44:34

这在java中可以通过观察者模式轻松解决。

  • 创建扩展Observable并实现将URL传递给它的类。
  • 主对象实现Observer,向新类注册为观察者
  • 运行您的Runnable,它执行阻塞HttpUrlConneciton,在完成时通知观察者结果

<代码>H112根据需要重复。<代码>H213<代码>F214

票数 1
EN

Stack Overflow用户

发布于 2011-04-05 03:01:27

查看GitHub上的ning async http client项目。它为您提供了使用Future或定义请求完成时的回调的选项:

https://github.com/sonatype/async-http-client

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5542763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档