- PR -

tomcatデータソースからコネクションを取得するとタイムアウト

1
投稿者投稿内容
sakai
会議室デビュー日: 2004/12/16
投稿数: 4
投稿日時: 2004-12-16 22:53
はじめまして。
サカイと申します。

現在tomcat4.1.8を使用したWEBアプリケーションを作成しております。
tomcatで提供されているコネクションプールの機能を
使用するため、server.xml,web.xmlにJNDIのリソースの設定を行い、
以下のようなソースでデータベースコネクションの取得を行いました。

-----------------------------------------------------------------
// 1.InitialContextを生成
InitialContext ctx = new InitialContext();

// 2.データソースを取得
DataSource ds = (DataSource) ctx.lookup("java:comp/env/DefaultDS");

// 3.コネクションを取得
Connection conn = ds.getConnection();
-----------------------------------------------------------------
その結果、4台あるテストマシンのうち3台では成功しコネクションを
取得できたのですが、1台のテストマシンでは
2.のデータソースの取得は成功しているようなのですが、
データソースからコネクションの取得でタイムアウトしてしまいます。
成功した3台のテストマシンと失敗した1台のテストマシンは
設置場所が違うため、その環境の違いが失敗する原因かと想像は
つくのですが、
明確な原因が現在わかっておりません。

どのような要因でこのような(getConnection()でコネクションが帰らずタイムアウト)
ことが起こるのでしょうか?

ご存知の方おられましたら、
お力をお貸しください。
よろしくお願いいたします。







かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2004-12-17 01:10
ファイヤーウォールはありますか?
案外ノートンとか、WindowsXP標準のファイヤーウォールが
邪魔しているということはないでしょうか?
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2004-12-17 01:29
まずは切り分けのため、
>telnet ホスト名 ポート番号
で接続できるか試してみてはいかがでしょうか。
sakai
会議室デビュー日: 2004/12/16
投稿数: 4
投稿日時: 2004-12-17 08:28
イノギ様、かつのり様
ご回答ありがとうございます。
まだ、試していませんがトライしてみます。

昨日の投稿の後、問題の切り分けのために
接続が行えないテストマシンから
DriverManagerを使用したコネクションの取得を試みましたところ
問題なくコネクションを取得する事に成功致しました。
なぜか、データソースを使用しての取得にはやはり
失敗してしまいます。
引き続き調査してみます。
なにかアドバイス等ございましたら
よろしくお願い致します。
oki
ベテラン
会議室デビュー日: 2004/12/18
投稿数: 55
投稿日時: 2004-12-18 13:17
4台のテスト機は同一のサーバを利用しているのですか?

>設置場所が違うため
とありますが、設置場所が違うというのはどういう意味でしょうか?

環境がよくわからないと、的を得た回答は難しいですね。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2004-12-19 03:01
一般的にうまくいくケースと行かないケースがある場合、切り分けは大変簡単です。
それぞれの環境の違いを見つけてつぶしていけば良い訳ですから。

でもその違いについて詳しく述べずに質問しても第三者には原因はなかなかわからないですね。
原因がわからなかったsakaiさんよりも情報量が少ない訳ですから。
当を得た、回答を得るためには環境についてもう少し具体的に説明してみてはいかがでしょうか?
#DriverManager を使った検証は何の切り分けのためにやろうと思いついたのかちょっと想像がつきません・・・
1

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