2012-08-24 168 views
1

我需要开发一个Java客户端Rest API,它使用一个具有异步http的库。更具体地说,我可以进行Rest CRUD操作,返回http响应的Future。我的问题是,我的包装API应该如何处理这些Future对象?我应该只向API的用户提供未来,是由他来处理它,还是我应该开发一些线程机制?Java Rest客户端API使用未来

+0

您使用的是什么Http客户端? –

回答

2

恕我直言,如果我是你的API的我宁愿你没有,除非做我的多线程消费:

我想说的是我不事你会被返回Future的增加任何价值,实际上是烦人,如果我要处理的线程我自己但你所提供的是异步API(返回Future)。

现在使您的API客户端Threadsafe是首选,并且对我感兴趣(即我不希望每次使用它时都必须实例化一个新客户端)。

但是如果您使用的东西像async-http-client (NIO)然后地狱是啊返回Future

+0

所以你的意思是说,如果我的API REST方法返回所有Future ,那么它是可以的? – Jancsi

+0

阅读我的编辑。只要你使用的是真正的NIO。 –

0

为什么需要它? - 我认为把它作为未来的高负荷系统是很重要的。

  • 作为一个API,有这样的功能将是有帮助的,因为你不是消费者。
  • 对于一个网站来说,如果它需要支持高负载,那么仅仅等待http响应会浪费CPU时间。而是使其成为异步,使得http工作者更有效地处理其他请求。

  • 使用库可以为你简化这个。