【问题标题】:How to set timeout for a POST request using JSP / JSF如何使用 JSP / JSF 为 POST 请求设置超时
【发布时间】:2014-01-18 00:00:24
【问题描述】:

我想知道是否有某种方法可以使用 JSF 标记为来自 JSP 的 POST 请求(我猜是 POST 请求)设置超时。

我通常使用 ExtJS 并通过 AJAX 做一些事情(很容易配置超时),并且对 JSF 几乎一无所知。

无论如何,我正在维护一个遗留系统,当请求完成后,接口在大约 3 分钟后停止监听,我希望接口等到服务器响应,如果它需要也没关系10 或 15 分钟。

这是我猜是标准 POST 的操作方法

<div style="position:absolute; top:-100">
    <h:commandLink action="#{ReporteSeguros.buscarRegistros}" id="buscarRegistros" target="fraGridPagos">
    </h:commandLink>
    <h:inputHidden id="sucursal" value="#{ReporteSeguros.sucursal}"/>
    <h:inputHidden id="region" value="#{ReporteSeguros.region}"/>
</div>

感谢任何帮助。

【问题讨论】:

  • 你是说 ReporteSeguros bean 的 buscarRegistros() 方法最多需要 15 分钟才能完成吗??
  • 有时大约需要 4 或 5 次,但正如我所说,这是一个遗留系统,您对这个问题有所了解吗?
  • 他们给你的答案是正确的。无法管理客户端超时。我建议您深入修改您的策略,也许使用基于数据库的握手来处理持续时间长得无法预测的任务。让用户在旋转的浏览器前等待 4 或 5 分钟是不可接受的。

标签: java jsp jsf post timeout


【解决方案1】:

有两种超时,一种是特定于客户端的,另一种是由服务器设置的。您可以配置服务器一,正确配置您的应用程序/servlet 容器。但是,无法控制特定于浏览器的客户端超时。

简而言之,您迟早需要更改控制/持久层,以使方法执行得更快。

另请参阅:

【讨论】:

  • 可以在 IE 中更改默认的保活超时选项。请看链接:support.microsoft.com/en-us/help/813827/…
  • @Busted,当然可以。我的意思是没有办法从服务器指示您的浏览器这样做。告诉所有用户遵循该说明(或与他们的浏览器相关的说明)会很痛苦。无论如何,您可以控制一些客户端:移动应用程序 ;-)
猜你喜欢
  • 2018-04-22
  • 1970-01-01
  • 2022-12-11
  • 2018-12-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-30
  • 2011-04-25
相关资源
最近更新 更多