1

アプリケーションがあり、そこから Jasper レポートを生成しています。しかし、レポートの生成を要求すると、レポートのデータ セットが非常に大きい (最大 100K 行) ため、アプリケーションがレポートを生成するのに非常に時間がかかります。

そのため、レポートが正常に生成されるまでに、HTTP 要求はタイムアウトになり、レポートはダウンロードされません。

どうすればこれを防ぐことができますか?

このアプリケーションは、Spring 3.0、Hibernate、および JasperReports で構築されています。

4

2 に答える 2

0

簡単な解決策は、HTTP リクエストにタイムアウト パラメータを追加することです。

よりクリーンなソリューションは次のとおりです。

  • 1 つの Ajax リクエストでレポート生成を開始します (Spring スケジューラを使用して、すぐに実行するようにスケジュールします)
  • ブラウザからポーリングして、レポートのステータスを確認します。完了したら、レポートを提示します。
于 2014-07-11T17:56:09.723 に答える
-1

My guess is that your session is expiring at 20 minutes, try editing tomcat6/webapps/jasperserver/WEB-INF/web.xml

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

Also make use of 'Run in background' (right-click) which will save the output for you like a schedule.

You can check tomcat6/webapps/jasperserver/WEB-INF/logs/jasperserver.log for any error messages.

于 2012-05-28T04:57:14.460 に答える