java - 如何减少数据库连接失败的挂起时间

标签 java sql-server hibernate

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

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

当我停止 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.".

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

谢谢

最佳答案

正如您提到的,它是一个 Web 应用程序,我想您正在使用容器(Tomcat、JBoss AS,...)提供的数据源,对吧?正确的?? :-)

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

关于java - 如何减少数据库连接失败的挂起时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11937851/

相关文章:

sql-server - Azure 数据工作室 : Save As CSV

java - sql 到 hql 抛出异常

java - 如何在java中获取S3中文件的最新时间

java - 如何调试黑莓验证错误?

java - 使用 TimePicker 显示和检索 'seconds'

sql-server - 缓存到 Web 服务器上的本地 SQL 实例

java - 检测同根词

c# - 如何在 datagridview C# 中格式化位数据类型列?

java - hibernate-redis 是否支持由不同的 hibernate 实例共享的二级缓存

java - c3p0 dataSourceName 与RegistryName 之间的区别?