簡體   English   中英

在Spring中停止HTTP請求超時

[英]Stopping HTTP Request Timeout in Spring

我有一個應用程序,並且正在從中生成Jasper報告。 但是當我請求生成報告時,應用程序生成報告所花費的時間很長,因為報告的數據集非常大(約10萬行)。

因此,在成功生成報告時,HTTP請求已超時,並且從未下載過該報告。

如何防止這種情況發生?

該應用程序是使用Spring 3.0,Hibernate和JasperReports構建的。

快速解決方案是在您的Http請求中添加一個超時參數。

較干凈的解決方案是:

  • 通過一個Ajax請求啟動報告生成(使用spring調度程序來調度立即執行)
  • 從瀏覽器中輪詢以檢查報告的狀態; 發現完成后,提交報告。

我的猜測是您的會話將在20分鍾后到期,請嘗試編輯tomcat6/webapps/jasperserver/WEB-INF/web.xml

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

還可以使用“在后台運行”(右鍵單擊),它將像時間表一樣為您保存輸出。

您可以檢查tomcat6/webapps/jasperserver/WEB-INF/logs/jasperserver.log是否有任何錯誤消息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM