- - PR -
tomcatデータソースからコネクションを取得するとタイムアウト
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 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-12-17 01:10
ファイヤーウォールはありますか?
案外ノートンとか、WindowsXP標準のファイヤーウォールが 邪魔しているということはないでしょうか? |
|
投稿日時: 2004-12-17 01:29
まずは切り分けのため、
>telnet ホスト名 ポート番号 で接続できるか試してみてはいかがでしょうか。 |
|
投稿日時: 2004-12-17 08:28
イノギ様、かつのり様
ご回答ありがとうございます。 まだ、試していませんがトライしてみます。 昨日の投稿の後、問題の切り分けのために 接続が行えないテストマシンから DriverManagerを使用したコネクションの取得を試みましたところ 問題なくコネクションを取得する事に成功致しました。 なぜか、データソースを使用しての取得にはやはり 失敗してしまいます。 引き続き調査してみます。 なにかアドバイス等ございましたら よろしくお願い致します。 |
|
投稿日時: 2004-12-18 13:17
4台のテスト機は同一のサーバを利用しているのですか?
>設置場所が違うため とありますが、設置場所が違うというのはどういう意味でしょうか? 環境がよくわからないと、的を得た回答は難しいですね。 |
|
投稿日時: 2004-12-19 03:01
一般的にうまくいくケースと行かないケースがある場合、切り分けは大変簡単です。
それぞれの環境の違いを見つけてつぶしていけば良い訳ですから。 でもその違いについて詳しく述べずに質問しても第三者には原因はなかなかわからないですね。 原因がわからなかったsakaiさんよりも情報量が少ない訳ですから。 当を得た、回答を得るためには環境についてもう少し具体的に説明してみてはいかがでしょうか? #DriverManager を使った検証は何の切り分けのためにやろうと思いついたのかちょっと想像がつきません・・・ |
1
