MSSQL データベースのフェイルオーバー、再起動、またはネットワークの問題が発生した場合、Tomcat5 を再起動してデータベースに再接続する必要があるようです。Java 1.5 で標準の sqljdbc.jar を使用しています。これが発生するたびにアプリケーションを手動で再起動する必要がないように、障害または停止時に自動的に再接続する方法を誰か教えてもらえますか?
server.xml は次のようになります。
<Resource name="jdbc/someDB" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/someDB">
<parameter>
<name>username</name>
<value>someuser</value>
</parameter>
<parameter>
<name>password</name>
<value>somepass</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:sqlserver://somedb;DatabaseName=Dbname</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.microsoft.sqlserver.jdbc.SQLServerDriver</value>
</parameter>
<parameter>
<name>logAbandoned</name>
<value>true</value>
</parameter>
<parameter>
<name>removeAbandonedTimeout</name>
<value>30</value>
</parameter>
<parameter>
<name>removeAbandoned</name>
<value>true</value>
</parameter>
</ResourceParams>