Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Spring中停止HTTP请求超时_Java_Spring_Tomcat_Servlets_Jasper Reports - Fatal编程技术网

Java 在Spring中停止HTTP请求超时

Java 在Spring中停止HTTP请求超时,java,spring,tomcat,servlets,jasper-reports,Java,Spring,Tomcat,Servlets,Jasper Reports,我有一个应用程序,我正在从中生成Jasper报告。但是,当我请求生成报告时,应用程序生成报告所需的时间相当长,因为报告的数据集非常大(约10万行) 因此,当报告成功生成时,HTTP请求超时,报告永远不会下载 我怎样才能防止这种情况发生 该应用程序是用Spring 3.0、Hibernate和JasperReports构建的。我猜您的会话将在20分钟后过期,请尝试编辑tomcat6/webapps/jasperserver/WEB-INF/WEB.xml <session-config>

我有一个应用程序,我正在从中生成Jasper报告。但是,当我请求生成报告时,应用程序生成报告所需的时间相当长,因为报告的数据集非常大(约10万行)

因此,当报告成功生成时,HTTP请求超时,报告永远不会下载

我怎样才能防止这种情况发生


该应用程序是用Spring 3.0、Hibernate和JasperReports构建的。

我猜您的会话将在20分钟后过期,请尝试编辑
tomcat6/webapps/jasperserver/WEB-INF/WEB.xml

<session-config>
    <!-- Default to 20 minute session timeouts -->
    <session-timeout>120</session-timeout>
</session-config>

120
还可以使用“在后台运行”(右键单击),它会像保存计划一样为您保存输出


您可以查看
tomcat6/webapps/jasperserver/WEB-INF/logs/jasperserver.log
,查看任何错误消息。

快速解决方案是在Http请求中添加超时参数

更清洁的解决方案是:

  • 用一个Ajax请求开始报告生成(使用spring调度程序安排立即执行)
  • 从浏览器轮询以检查报告的状态;完成后,提交报告

您是从哪里获得超时的,服务器还是浏览器?在超时的同时,您的应用程序还必须生成一些其他异常。请分享该异常和问题代码,以便每个人都能很好地理解您的问题并回答。现在是浏览器超时。没有例外,因为报告最终会生成,但不会推送到浏览器,因为请求已经超时。要多长时间才能超时?2分钟?30分钟?呜呜,谁对我的回答不屑一顾。为了澄清,这个答案仅适用于使用jasper reports UI时的浏览器超时