0

長いHTTPリクエスト(大きなExcelファイルの生成-約60Kレコード程度)があり、完了するまでに5分ほどかかります。icefacesの付いたホイールは、接続が切断されていることを示しています。ファイルはサーバー上で準備ができていますが、ICEFacesページが停止しているため、更新する必要があり、ファイルを取得できません。タイムアウトを延長する方法web.xmlで次のことを試しましたが、役に立ちませんでした。

コード-Web.xml:

 .....
 <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>
 .....

何か案は?

ありがとう、

タム

4

3 に答える 3

1

クライアントのタイムアウトのようです!ajax応答を使用して非同期作成を試してください。

于 2009-07-10T16:47:30.297 に答える
0

クライアント/サーバー間の不必要なハンドシェイクを防ぐために、バッファサイズを増加した値に設定してみてください。

<context-param> 
  <param-name>facelets.BUFFER_SIZE</param-name>
  <param-value>500000</param-value>
</context-param>

web.xml

この小さなスイッチでJSFのパフォーマンスを大幅に向上させた人々からの多くの肯定的なフィードバックを見つけることができます。多分それはあなたの状況にも役立つでしょうか?

于 2009-07-12T10:23:47.770 に答える
0

問題について詳しく知らなくても、私がとるアプローチは次のとおりです。

  1. ユーザーはリンクをクリックしてExcelファイルを生成します。「処理中...」などのリンクの代わりにメッセージを表示します

  2. 定期的に(おそらく3秒ごとに)ファイルが生成されたかどうかをサーバーに確認します。生成されていない場合は、数秒待ってからもう一度確認してください。

  3. ファイルの生成が完了したら、「Processing ...」テキストを、サーバーのダウンロード領域に生成および保存されたファイル「Downloadyourfile.xls」へのリンクに変更します。

このようにして、ブラウザはファイルが生成されるのを待って立ち往生することはありません。

于 2009-07-20T20:13:55.473 に答える