如何减少DB连接失败的挂起时间

时间:2012-08-13 15:51:20

标签: java sql-server hibernate

我有一个使用Hibernate连接到MSSQL 2005数据库的java Web应用程序。

由于我的应用程序与数据库的连接并不重要,我想测试数据库不可用时应用程序的行为。

当我停止SQL服务并运行在数据库上运行查询的Web应用程序的一部分时,我的应用程序会挂起大约30秒,然后继续正常运行。

正如预期的那样,日志中的错误是:

2012-08-13 16:33:04,974 WARN  [JDBCExceptionReporter] SQL Error: 0, SQLState: 08S01
2012-08-13 16:33:04,974 ERROR [JDBCExceptionReporter] The TCP/IP connection to the host bonnie.uk, port 1433 has failed. Error: "Connection refused. Verify the connection properties, check that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port, and that no firewall is blocking TCP connections to the port.".

有谁知道如何减少应用程序的挂起时间?

由于

1 个答案:

答案 0 :(得分:1)

正如您所说,它是一个Web应用程序,我想您正在使用容器提供的DataSource(Tomcat,JBoss AS,...),对吧?对?? :-)

如果是这种情况,那么您的容器肯定有办法配置它。对于JBoss AS,这将是“blocking-timeout-millis”。