[Seasar-user:11663] Re: DBサーバ接続時のタイムアウト時間の設定

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2007年 11月 15日 (木) 21:00:28 JST


小林 (koichik) です.

Date:    Mon, 12 Nov 2007 16:52:03 +0900
From:    大坪 淳一 <[E-MAIL ADDRESS DELETED]>
To:       [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:11618] DBサーバ接続時のタイムアウト時間の設定

> お世話になっております、大坪です。
> この時、上記のように存在しないDBサーバのIPアドレスが設定されると処理がそ
> こで止まってしまい、タイムアウトするまで待たなくてはいけないのでタイムア
> ウト時間を短く設定したいと思っています。

JDBC 的には,DriverManager#setLoginTimeout() で
接続時のタイムアウト時間を指定できることに
なってますが,こちらで試した限り,MySQL の
JDBC ドライバでは効果がないようです.
# ドライバのバージョンはよく分かりません.

一応,タイムアウト時間を設定できるように修正した
SNAPSHOT を以下に置いたので,確認してみてください.

http://maven.seasar.org/maven2-snapshot/org/seasar/container/s2-framework/2.4.18-rc3-SNAPSHOT/s2-framework-2.4.18-rc3-20071115.115915-1.jar
http://maven.seasar.org/maven2-snapshot/org/seasar/container/s2-extension/2.4.18-rc3-SNAPSHOT/s2-extension-2.4.18-rc3-20071115.115915-1.jar

dicon の設定は以下のようになります.

<component name="xaDataSource"
    class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
  <property name="driverClassName">
    "com.mysql.jdbc.Driver"
  </property>
  <property name="URL">
    "jdbc:mysql://localhost:3306/test"
  </property>
  <property name="user">"xxx"</property>
  <property name="password">"xxx"</property>
  <property name="loginTimeout">2</property><!-- 秒単位 -->
</component>


そちらでお使いの JDBC ドライバでも効果がなければ,
Seasar2 側で対処するのは難しいですね.


--
<signature>
   <name>Koichi Kobayashi</name>
   <e-mail>[E-MAIL ADDRESS DELETED]</e-mail>
</signature>




Seasar-user メーリングリストの案内