grails - 如何避免客户端防火墙关闭连接,因为在 Grails 上处理数据时不活动

标签 grails firewall keep-alive user-inactivity

我有一个 Grails 在 Tomcat 上的服务器上工作。这个应用程序是一个从 MySQL 服务器导出信息的 Web 界面。可以根据您所做的选择导出此信息,但需要一些时间。最大的部分或过程大约是 40 分钟。这是它需要从数据库中导出所有信息并在一个 zip 文件中压缩返回给用户的时间。

一切正常,但我们遇到了一位客户的问题。他们安装了某种代理,并且在 3 分钟不活动后关闭了与服务器的连接,并且他无法导出任何内容,因为他可以选择导出的所有组合都需要更长的时间。

客户端,即 GSP 页面,在服务器端计算和创建压缩文件时不做任何事情,只是在等待。我能做些什么来避免这种连接关闭?

这是接收客户端的消息:

Network Error (tcp_error) A communication error occurred: "" Detailed technical information: URL: **** Proxy: fe0psg03 Client Adress: 10.2.122.105 Time: [15/10/2012:15:41:40 GMT] User: DE\roklinne The Web Server may be down, too busy, or experiencing other problems preventing it from responding to requests. You may wish to try again at a later time.



预先感谢您的支持,

最佳答案

因为这个过程最多需要 40 分钟。我会考虑分拆一个任务并在后台运行它。

几个建议...

1) 只使用 Java 5 并发类(额外的工作很少)

2) JSR-166y 库为您提供方便的 Fork/Join 和并行数组抽象。

3) 后台线程 Grails 插件

在此之后,您可以有一个进度条,并为用户提供有关事情进展的最新信息。

关于grails - 如何避免客户端防火墙关闭连接,因为在 Grails 上处理数据时不活动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12932136/

相关文章:

grails - 用grails控制台创建的新域对象在dbconsole中不可见

ssl - Heroku CLI 错误 : unable to get local issuer certificate

linux - SSH 连接丢失

ruby-on-rails - Net HTTP Persistent/Keep Alive with Ruby OAuth2 gem

python - 如何使用 python 脚本更改 tcp keepalive 计时器?

Python urllib3 : close idle connection after some time

web-services - 如何通过安全层访问Grails中的Web服务

hibernate - 如何获取 grails hibernate L2 缓存统计信息?

java - 将 Grails War 文件安装到远程服务器,包括 mysql 数据库

Docker 容器随机丢失互联网