如何为 DB2 的 JDBC 驱动程序配置 TCP keepAliveTimeout?

Posted

技术标签:

【中文标题】如何为 DB2 的 JDBC 驱动程序配置 TCP keepAliveTimeout?【英文标题】:How can I configure TCP keepAliveTimeout for DB2's JDBC Driver? 【发布时间】:2017-04-05 11:52:37 【问题描述】:

This page 建议我可以为带有 JDBC 的 DB2 手动调整 keepAliveTimeout 值。

这个list of driver properties that I've found 没有提到这个设置。

这个other list of JDBC and SQLJ propeties 提到了keepAliveTimeOut设置。但是,它也说

除非另有说明,否则所有属性都在 com.ibm.db2.jcc.DB2BaseDataSource 中。

我该怎么做?据我了解,这些设置与 DB2 连接字符串设置不同,否则上述列表还会提及 currentSchema 设置。

Yet another page suggests我需要一个名为db2dsdriver.cfg的文件,但根据this list,这似乎不适用于JDBC。

如何为 JDBC 实际配置 keepAliveTimeout 并检查它是否处于活动状态并设置为我配置的任何内容?

【问题讨论】:

你有没有想出任何解决方案?我的情况非常相似 @Alpay 不幸的是,没有。 【参考方案1】:

我看到您必须在连接字符串中指定keepAliveTimeout=0,如果您使用 0 作为值,jdbc 不使用内部值,但它将使用操作系统的值作为间隔时间。

我在这里找到了:

https://www.ibm.com/support/pages/keepalive-parameters-jdbc-driver https://www.ibm.com/support/pages/tcpip-keepalive-settings-and-related-db2-registry-variables

【讨论】:

以上是关于如何为 DB2 的 JDBC 驱动程序配置 TCP keepAliveTimeout?的主要内容,如果未能解决你的问题,请参考以下文章

如何为 Spring Boot 应用程序配置端口

使用 JDBC 时如何为 SQL 语句启用日志记录

如何为 Google BigQuery JDBC 驱动程序指定区域位置?

怎样确定DB2 JDBC驱动的版本

Spring session jdbc - 如何为单个应用程序添加多个 HttpSessionIdResolver

如何为 DB2 表值函数传递日期参数