当前位置: 首页 > 知识库问答 >
问题:

Jersey和AsyncResponse与重定向

张丰
2023-03-14

目前我正在使用泽西岛1.0,即将切换到2.0。对于 REST 请求,可能会持续一两秒钟以上,我使用以下模式:

  1. 客户端调用GET或PUT
  2. 服务器向客户端返回轮询URL
  3. 客户端轮询URL,直到它重定向到已完成的资源

相当标准和简单。然而,我注意到泽西2.0具有AsyncACK功能。但看起来这是在没有更改的情况下完成的。换句话说,当服务器异步处理请求时,客户端仍然会阻止结果。

那么这有什么好处呢?我应该使用它来代替我当前的异步调用方法吗

我希望我的服务器尽可能具有可伸缩性,但是我现在使用的方法对于客户端来说可能很乏味。AsyncResponse看起来超级简单,但是我不确定它对于像heroku服务这样需要非常短的连接时间的服务是如何工作的。

共有1个答案

越朗
2023-03-14

AsyncResponse 大概在 Web 应用服务器中为线程池资源方面的标准标准请求提供了更大的可伸缩性,但我认为它不会改变客户端体验的任何内容,这些体验将继续阻止在其连接上读取。因此,如果您已经从客户端实施了轮询解决方案,那么恕我直言,这不会给您带来任何价值。

 类似资料:
  • 问题内容: 我在生产中看到很多连接重置,可能有多种原因,但我想确保代码中没有连接泄漏。我在代码中使用Jersey客户端 最初,我以以下方式实例化客户端Client this.client = Client.create(),我们将其更改为ApacheHttpClient.create()。我没有在响应上调用close(),但是我假设ApacheHttpClient将在内部执行该操作,因为HttpC

  • 我想知道301和307重定向之间的区别。 我希望通过自制url重定向器生成反向链接,我希望任何“链接果汁”或“页面排名果汁”都能直接从原始主页流向最终url,但如果其中一个原始主页出现问题,我希望能够通过删除该特定页面的重定向链接来关闭该链接。有道理? 我的理解是,301是永久性的,这意味着谷歌将看到301并更新其缓存的URL作为最终目的地,而不管我以后是否取消重定向。 如果我使用307,它将不会

  • 我有一个基本的REST web服务可以工作,但我确实有一个问题。下面是一个简短的代码片段。

  • 问题内容: 我对此主题进行了一些研究,并且有些专家说这是不可能的,因此我想寻求替代解决方案。 我的情况: A页:[checkout.php]客户填写帐单明细。 网页B:[process.php]生成发票编号并将客户详细信息存储在数据库中。 网页C:[thirdparty.com]第三方付款网关(仅接受过帐数据)。 客户填写其详细信息,然后在A页中设置购物车,然后在B页中过帐。在process.ph

  • web.seeother 和 web.redirect 问题 在处理完用户输入后(比方说处理完一个表单),如何跳转到其他页面? 解法 class SomePage: def POST(self): # Do some application logic here, and then: raise web.seeother('/someotherpage')

  • 问题内容: 我在页面上发生了一个jQuery Ajax请求。在PHP方面,我正在检查会话是否处于活动状态并正在执行某些操作。如果会话不活跃,我想将用户重定向到php中的另一个页面(header redirect)。我该怎么做。 我知道如何在javascript中实现它(即,如果session_fail然后更改window.location,但是我可以在php / cakephp中做些什么 问题答案