首页 文章

我可以为单个查询设置JDBC超时吗?

提问于
浏览
13

我在Tomcat上有一个Web应用程序,它处理数据库连接池,并使用Spring JDBCTemplate执行查询 . 已经请求我实现一个状态页面,该页面将由心跳过程监视,以确定服务器是否一切正常 .

作为其中的一部分,我想进行数据库查询以确定与数据库的连接是否正常 . 理想情况下,因为它只是一个'选择1',我希望它在10秒内快速返回,以指示如果DB在那段时间没有响应则失败 .

但是,我不希望更改我的连接以快速执行正常请求 .

Is there a way to set a per-query timeout using either raw JDBC or Spring JDBC wrappers?

2 回答

  • 24

    如果使用spring来管理事务,则还可以在事务级别指定超时 . @Transactional(超时= 10)

  • 9

    在Statement(或PreparedStatement)对象上使用setQueryTimeout .

相关问题