ある特定のRDBがインストールされているデータベース
サーバーにデータのロードを行っていた際、Webからの検索が起動され、この時には、3~5分程度経ってからブラウザにタイムアウトが帰っていました。
(データのロード中なのでテーブルはロックされていた)
これは問題ではないのですが、この際Webサーバ側では
jdbcのプロセスが生き残り、データベースサーバーへの
アクセスを繰り返し続け、結局jdbcのプロセス自体が
増えつづけて、Webサーバ自体のリソースを使いきってしまうという現象が起こりました。
さらに、アクセス要求を受けつづけるデータベース自体も、データのロードが止まってしまいました。
この現象についてjdbcの設定等で回避する方法はないでしょうか?
できれば特定のExceptionが発生してWebサーバに瞬時に帰り、なおかつプロセスもデータベースサーバーに
迷惑をを掛けずに死んでいくというのが理想的なのですがこのような回避方法は可能でしょうか?
JDBCのことがわからず質問しました。
何卒よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
JDBCのプロセスとは、JDBCを使用しているサーブレットのスレッドと解釈します。
違っていたらごめんなさい。
DBコネクションプールを管理するクラスは用意していないのでしょうか?
コネクションプールの管理とは、最大接続=100等とし、同時には100台のクライアントからしか
接続を許可しない方法です。(クライアントというと語弊がありますがとりあえず・・)
このクラスはsingletonパターンで実装します。
この手法を使用すれば、最大コネクション数文しかサーブレットが起動できないように抑制できますので、
とりあえずリソースを使い切ってしまうということは防げます。
しかしこのままでは、ブラウザのタイムアウトを待つことには変わりありませんので、
>できれば特定のExceptionが発生してWebサーバに瞬時に帰り、・・・
を回避することが出来ません。
これはこのDBコネクションプールをカスタマイズすれば、
即画面にエラーを表示することも可能と思います。
カスタマイズ方法を説明するのもなんなので、この辺で失礼します。
では、頑張ってください。
参考URL:http://javadrive.tripod.co.jp/servlet/schedule/18/
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) 業務用のデータベースサーバーの選び方について 4 2022/11/22 10:22
- フリーソフト 色々な形式の個人情報を後で参照しやすいようWindow10で管理したいのですが、どんな方法があるの? 1 2023/04/29 16:46
- サーバー メールサーバーについて詳しい方、メールサーバーの管理業務経験のある方、教えてください。 3 2022/11/12 18:24
- JavaScript Q&Aの掲示板を作成していてヤフー知恵袋やgoo質問のように質問ごとにURLを生成したい 5 2023/08/04 01:22
- HTML・CSS WEBサイトの構築。表示データとWEBデザインを分離する考え方を専門用語・業界用語では何と言うか? 8 2022/09/27 09:16
- 情報処理技術者・Microsoft認定資格 応用情報処理技術者試験のシステム利用率の計算について 2 2022/03/28 07:43
- Access(アクセス) Accessで作ったデータベースをwebで活用したい 2 2023/06/03 08:49
- Chrome(クローム) 入力フォームの履歴を消したい 2 2023/06/29 13:02
- その他(学校・勉強) この中で間違ってある説明はありますか?詳しい方に教えていただきたいです。 A. 1つのプログラムが複 2 2023/07/14 01:15
- ASP・SaaS イントラネットを構築したい 2 2022/04/24 11:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プロセスIDの取得方法について
-
プロセスのアタッチ・デタッチ...
-
バックグラウンドのプロセスの...
-
ウィンドウのタイトルからプロ...
-
タスクマネージャーのプロセス...
-
sleep関数の精度について
-
C#でのbatファイル実行結果取得
-
完全な乱数を生成する方法
-
explorer.exeが異様にメモリを食う
-
怪しいプロセス教えてください。
-
C++のプログラムをバックグラウ...
-
OSPFでプロセスを分ける意義に...
-
ShellExecuteExでハンドルの取得
-
起動中の他のプログラム(orプ...
-
ADOでアクセスのレコードに...
-
Trend Micro Anti-Malware Solu...
-
ShellExecuteが起動したプロセ...
-
C++でシェルを起動
-
Windowsでのfork方法
-
別のプロセスの関数を呼び出す...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バックグラウンドのプロセスの...
-
explorer.exeが異様にメモリを食う
-
タスクマネージャーのプロセス...
-
C#でのbatファイル実行結果取得
-
プロセスのアタッチ・デタッチ...
-
VB6.0 SHELLで起動...
-
プロセスIDからウィンドウハ...
-
Process.Startの戻り値を後で取得
-
ウィンドウのタイトルからプロ...
-
他のEXEが起動しているかの確認
-
ADOでアクセスのレコードに...
-
怪しいプロセス教えてください。
-
別のプロセスの関数を呼び出す...
-
C++のプログラムをバックグラウ...
-
Linuxでのスレッド間メッセージ...
-
C++でシェルを起動
-
プロセスIDの取得方法について
-
OSPFでプロセスを分ける意義に...
-
非表示になったエクセルは?
-
Windowsでのfork方法
おすすめ情報