tomcat - 验证查询(选择 1)24/7 运行而未指定?
问题描述
我们的 DBA 说有一个针对我们的雪花数据库运行 24/7 的“SELECT 1”查询,但我们根本没有指定验证查询。
我们正在使用 tomcat 数据源,但我们没有在属性文件中指定 datasource.validation-query。
datasource.url: jdbc:snowflake://mytestserver:443/?
warehouse=testwh&db=test&schema=mytest&CLIENT_SESSION_KEEP_ALIVE=true
datasource.username: xxxx
datasource.password: xxxx
datasource.type: org.apache.tomcat.jdbc.pool.DataSource
datasource.initial-size: 1
datasource.min-idle: 1
datasource.max-idle: 10
datasource.max-active: 10
是否有任何默认连接池属性可以控制验证查询何时运行以及以什么间隔运行 SELECT 1 查询?我们可以以某种方式禁用 SELECT 1 查询或每天进行一次吗?
解决方案
我不确定为什么验证查询会在没有配置的情况下运行。据我所知,Tomcat 默认将此设置为 NULL。您可以尝试在数据源定义中显式指定validationQuery 和validationInterval 来解决此问题。我也总是建议使用最新版本的 JDBC 驱动程序。
推荐阅读
- javascript - 让我登录 geckodriver selenium (java)
- reactjs - 使用 reactstratp 库自动隐藏 Toast 消息
- python - 为什么我的递归在 Swift 中有效,但在 Python 中无效?
- swift - 使用 DiskArbitration 和 IOKit 获取所有卷的树状结构
- android - 如何在 Android 11 上获取请求所有文件访问权限
- python - 3D t-sne 的特定标记
- node.js - 推送被拒绝,在 heroku 上部署 nodejs 应用程序时无法编译 Node.js 应用程序
- netsuite - 以编程方式安排地图缩减脚本
- python - Pygame 窗口不会出现在 Jupyter 中
- angular - Angular 从多个 http 服务获取数据并映射它们