我需要从Java向RESTful服务器发出Web请求。我想让我的Java代码异步处理响应。我正在寻找一个处理请求的线程和回调的框架。如何以异步方式发出Web请求
顺便说一句,我看了看FutureTask,它不会似乎是我所需要的,因为它需要客户端等待它在某个时候完成。完成后我正在寻找回拨。
我需要从Java向RESTful服务器发出Web请求。我想让我的Java代码异步处理响应。我正在寻找一个处理请求的线程和回调的框架。如何以异步方式发出Web请求
顺便说一句,我看了看FutureTask,它不会似乎是我所需要的,因为它需要客户端等待它在某个时候完成。完成后我正在寻找回拨。
顺便说一句,我看了看FutureTask,它不会似乎是我所需要的,因为它需要客户端等待它在某个时候完成。
你不有呼叫FutureTask.get()从发起线程,以获取任务的结果。您可以将Callable
传递给FutureTask
也处理将其输出传递给其他组件。 get()
方法在那里,以便您可以得到异步计算的结果,这可能涉及等待计算完成,如果它尚未完成。
如果您希望回调风格,你可以简单地有赎回调用自己构造的回调或处理它自己的结果。
这是Java迎刃而解与观察者模式
Observable
并实现Runnable
Observer
,与新类注册为观察员退房在GitHub上宁异步HTTP客户端项目。它使您能够使用未来或定义一个回调的要求完成时的选项:
这是一个很好的建议和有意义。我遇到了ThreadPoolExecutor类,它似乎提供了类似的功能。 FutureTask有一个线程,还是使用线程池? – 2011-04-04 19:25:51
FutureTask基本上只是围绕Callable进行打包,旨在被ExecutorService(或类似的服务)使用。 – 2011-04-05 00:15:02