当我们遇到 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>