2013-03-25 65 views
0

我们正在使用Jersey编写一些REST服务。我们的服务使一些底层的服务调用发生缓慢,这导致每个请求的每个线程持续3-4秒。在调查过程中,我遇到了Asynchronous Pages in .Net,它为线程池中的每个请求分配一个线程,并在I/O操作开始时将线程返回给线程池,并在I/O操作完成时获取新线程以完成其余的处理。用于REST服务的Java中等效的异步页面

在泽西岛有没有类似的东西存在,我们可以提供更多的并发连接,而​​不是为每个连接保留一个线程,直到它完成。我不想发布一个请求,返回一个GUID,然后继续轮询来自客户端的请求的状态,因为我不控制客户端代码。

感谢, GG

+0

你好,这是真的怎么办呢http://stackoverflow.com/a/3143189/169277 – ant 2013-03-25 20:02:48

+0

蚂蚁简单,但很好的例子,这个例子说明了如何运行多个线程/任务来为同一个请求做多件事情,但是它拥有1个在服务器上运行的线程/连接。我们进行一个底层的服务调用,需要4-5秒,并且父线程在该时间段内被阻塞,这减少了可以与服务器进行的并发连接的数量。我们想要做的是在我们进行底层服务调用的同时,释放可以用于服务另一个请求的父线程,并且当我们得到响应时,恢复线程以处理请求的其余部分。 – 2013-03-26 00:58:26

回答

1

萨吕,

看一看的Atmosphere's Framework,特别是带来异步注释泽西岛的大气球衣模块。看看其中的samples,或阅读quick tutorial。 Atmosphere的泽西岛完全符合你的要求,而不需要你操纵线索或类似的东西。如果您需要更多帮助,请来我们的mailing list

感谢

- Jeanfrancois(大气Creator和信息)

+0

请看这个问题。是否可以实施? http://stackoverflow.com/questions/19706788/jersey-rest-web-service-with-activemq-middleware-integration。 Thaks为你的时间。 – Kumar 2013-11-06 06:04:44