如何设置 jdbc 连接生存期和超时?

Posted

技术标签:

【中文标题】如何设置 jdbc 连接生存期和超时?【英文标题】:How to set jdbc connection lifetime and timeout? 【发布时间】:2016-10-27 11:10:49 【问题描述】:

我想设置jdbc连接的生命周期和生命周期,我该怎么做。

我尝试使用属性。

Properties info = new properties();
info.put(user,"username");
info.put(password,"password");
info.put(connection lifetime, 0);


DriverManager.getConnection(server,info)

但这不起作用,请帮忙。

【问题讨论】:

可能与***.com/questions/1683949/…有关 你用的是什么数据库? 生命周期没有设置它连接生命周期仍然是大约 15 分钟 @rbntd 它只设置超时如何设置生命周期 【参考方案1】:

试试这个:

info.setProperty(OracleConnection.CONNECTION_PROPERTY_THIN_NET_CONNECT_TIMEOUT, "2000");

参考:Setting Network Timeout for JDBC connection

请注意,并非所有 JDBC JAR 都支持以这种方式设置超时。有时您必须以编程方式进行。

【讨论】:

@RahulSingh 你能从 Oracle 配置这个吗?这似乎不是 Java 问题。 我想让它永远打开同一个连接我不想使用连接池 这听起来真是个坏主意。如果 Java 断开连接,则将其丢弃并将其返回到池中。 但这可能吗? 我不确定,看这里:docs.oracle.com/cd/B28359_01/java.111/e10788/…

以上是关于如何设置 jdbc 连接生存期和超时?的主要内容,如果未能解决你的问题,请参考以下文章

超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。

用jdbc连接mysql数据库,执行程序一段时间后控制台报连接超时。why,如何解决!

Derby/JDBC 连接生命周期(或空闲超时)

将 spark 应用程序连接到远程 sql 服务器时出现 jdbc 连接超时错误

使用jdbc查询impala时的超时问题

如何设置数据库的连接数和连接超时时间