用于 REST 服务的 Java 中等效的异步页面
Posted
技术标签:
【中文标题】用于 REST 服务的 Java 中等效的异步页面【英文标题】:Asynchronous Pages equivalent in Java for REST Services 【发布时间】:2013-03-15 03:40:34 【问题描述】:我们正在使用 Jersey 编写一些 REST 服务。我们的服务进行了一些底层服务调用,这些调用恰好非常慢,这导致每个请求的每个线程都保持 3-4 秒。在调查时,我遇到了Asynchronous Pages in .Net,它为来自线程池的每个请求分配一个线程,并在 I/O 操作开始后将线程返回到线程池,并在 I/O 操作完成时获取一个新线程来完成其余的处理。
在泽西岛有没有类似的东西,我们可以提供更多的并发连接,而不是为每个连接保留一个线程直到它完成。我不想发布请求,返回 GUID,然后继续轮询来自客户端的请求状态,因为我不控制客户端代码。
谢谢, GG
【问题讨论】:
嗨,这确实是基本但很好的例子***.com/a/3143189/169277 Ant,这个例子讲述了如何运行多个线程/任务来为同一个请求做多件事,但它拥有 1 个在服务器上运行的线程/连接。我们进行了一个需要 4-5 秒的底层服务调用,并且父线程在该时间范围内被阻塞,这减少了可以与服务器建立的并发连接数。我们想要做的是,当我们进行底层服务调用时,释放可用于服务另一个请求的父线程,当我们得到响应时,恢复线程以处理请求的其余部分。 【参考方案1】:看看Atmosphere's Framework,特别是为 Jersey 带来异步注释的大气球衣模块。
查看samples 之一,或阅读此quick tutorial。 Atmosphere's Jersey 完全符合您的要求,无需您操作线程或类似的东西。如果您需要更多帮助,请联系我们的mailing list。
(我是气氛创造者和领导者)
【讨论】:
请看这个问题。是否可以实施。 ***.com/questions/19706788/… 。谢谢你的时间。以上是关于用于 REST 服务的 Java 中等效的异步页面的主要内容,如果未能解决你的问题,请参考以下文章
我应该如何将数据库表复制到可以在 Spring Boot Rest api 中使用的等效 Java bean 类中?
我应该让我的 REST 客户端 API 库异步(Java 8)