- PR -

サーブレットのタイムアウトについて

1
投稿者投稿内容
etu118
会議室デビュー日: 2004/12/16
投稿数: 4
お住まい・勤務地: 大阪
投稿日時: 2005-02-02 10:22
初歩的な質問で、大変申し訳ご座いませんが。
どうかご教授くださいますようお願い申し上げます。

現在、サーブレットよりサードパーティベンダーのPDF生成サーバー(レポートサーバー)を経由して、PDFファイル(帳票)を発行するシステムを構築しております。
データが少ないレポートの場合、何も問題なく生成できますが、データが1万件や2件になると、レポートが生成されない現象が発生します。
そこで、レポートサーバーの開発元(サポートセンター)に問い合わせたところ、サーブレット側がタイムアウトした可能性があると返事をいただきました。
この「サーブレットのタイムアウト」というのが、具体的に理解できません。
今回のレポートサーバーに限らず、サーブレットから別のサーバー(例:DBサーバー)にアクセスする場合、通信先のサーバーからのレスポンスが遅い場合、サーブレットは、自動的にタイムアウトを起こすのでしょうか?
たとえば、サーブレットを経由して、DBサーバー(Oracleなど)よりデータを取得する場合、DBサーバーからのレスポンスが遅い場合、サーブレットはタイムアウトを起こすのでしょうか?それとも延々(たとえば2、3日)と待ち続けるのでしょうか?
※通信元、通信先供に意図的にタイムアウト処理を行っていない場合とします。
(株)ぽち
ぬし
会議室デビュー日: 2002/09/10
投稿数: 376
投稿日時: 2005-02-02 12:36
それはサーブレット云々というよりHTTPの話しでしょうか。
私もあまり詳しくないですが。

servletがPDF生成うんちゃらサーバを使っているとのことですが
そのservletを使っている人がいるのですよね?

その人にとってはservletにrequestを投げて帰ってくるまでに
タイムアウトすることは十分考えられます。

サーバに何を使っているかわかりませんが、どのサーバにも設定は
あると思いますよ。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2005-02-02 16:14
今回のタイムアウトは恐らくブラウザ側の話なので別ですが、DBのタイムアウトは setQueryTimeout で設定できますね。

レスポンスを返さずに放っておくとブラウザによってはタイムアウトしてしまいますので工夫が必要です。
以下のスレッドなど役に立つかもしれません。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=16867&forum=12
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=7110&forum=12
1

スキルアップ/キャリアアップ(JOB@IT)