首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >服务器连接因ICEFaces请求过长而中断

服务器连接因ICEFaces请求过长而中断
EN

Stack Overflow用户
提问于 2009-07-10 16:45:20
回答 3查看 1.8K关注 0票数 0

我有很长的HTTP请求(生成大的Excel文件-大约60K记录),这需要5分钟才能完成。带有icefaces的轮子显示连接已死,虽然文件在服务器上已准备就绪,但ICEFaces页面已死,我必须刷新它,无法获取文件!如何延长超时我在web.xml中尝试了以下方法,但没有帮助:

代码- Web.xml:

代码语言:javascript
复制
 .....
 <context-param>
         <param-name>blockingConnectionTimeout</param-name>
         <param-value>600000</param-value>
 </context-param>  
 <context-param>
         <param-name>synchronousUpdate</param-name>
         <param-value>false</param-value>
 </context-param>
 <context-param>
         <param-name>connectionTimeout</param-name>
         <param-value>600000</param-value>
 </context-param>
 <context-param>
         <param-name>heartbeatRetries</param-name>
         <param-value>20</param-value>
 </context-param>
 <context-param>
         <param-name>heartbeatInterval</param-name>
         <param-value>400000</param-value>
 </context-param>
 <context-param>
         <param-name>heartbeatTimeout</param-name>
         <param-value>2000000</param-value>
 </context-param>
 .....

有什么想法吗?

谢谢,

Tam

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-07-10 16:47:30

似乎是客户端超时!尝试使用ajax响应进行异步创建。

票数 1
EN

Stack Overflow用户

发布于 2009-07-12 10:23:48

尝试将缓冲区大小设置为更大的值,以防止客户端/服务器之间不必要的握手。

代码语言:javascript
复制
<context-param> 
  <param-name>facelets.BUFFER_SIZE</param-name>
  <param-value>500000</param-value>
</context-param>

web.xml

您将发现许多积极的反馈,这些人通过这个小小的切换极大地提高了他们的JSF性能。也许它也会对你的情况有所帮助?

票数 0
EN

Stack Overflow用户

发布于 2009-07-20 20:13:55

在不了解更多问题的情况下,以下是我将采取的方法:

  1. 用户点击链接生成excel文件。在链接的位置显示一些消息,例如"Processing..."
  2. Periodically (可能每隔3秒)询问服务器文件是否已生成,如果没有,请等待几秒钟,然后再次询问。
  3. 文件生成完成后,更改"Processing...“指向文件"Download yourfile.xls“的链接的文本,该文件已生成并存储在服务器的下载区中。

这样,浏览器就不会等待文件生成。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1110660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档