1

我正在使用 Spring JDBC 模板和 BoneCP 连接池。当我故意将 JDBC URL 设置为无效值(以测试我的系统在数据库连接失败时如何工作)时,它会引发UnknownHostException服务器启动,但服务器会继续启动。当我提交请求时,该jdbcTemplate.query(sql)方法挂起。什么是处理这个问题的好方法,这样系统就不会挂起jdbcTemplate.query(sql)

如果数据库由于网络连接问题而关闭,则可能出现这种情况。我试图玩弄idleMaxAgeInSecondsandmaxConnectionAgeInSeconds值;我将它们都设置为 10,但代码仍然挂在jdbcTemplate.query().

4

1 回答 1

1

我不确定我是否理解您的问题,但在我看来,如果发生异常,您不希望服务器启动,或者您想设置一个静态变量,在尝试联系数据库之前检查数据库是否打开(初始化 jdbc 时没有 UnknownHostException)。

也许这会指向您的答案:

http://www.cubrid.org/blog/dev-platform/understanding-jdbc-internals-and-timeout-configuration/

祝你好运!

于 2013-02-04T22:53:05.787 回答