【问题标题】:google app engine cloud sql connection never closes谷歌应用引擎云 sql 连接永远不会关闭
【发布时间】:2015-01-01 16:47:52
【问题描述】:

我正处于应用程序的开发阶段,我不会进行很多服务器\云 sql 调用,但出于某种原因,我每月平均使用 400 小时。

当我查看云 sql 活动连接仪表板时,我看到始终至少有一个活动连接,但在读\写操作中,除了偶尔的小颠簸之外,它通常为 0。

每次向服务器\cloud sql 发出请求时,我都会创建一个新连接,并在每次返回响应时关闭连接。

连接代码是(我按照留言本教程\example)

Class.forName("com.mysql.jdbc.GoogleDriver");
this.dbUrl  = "jdbc:google:mysql://trivia9991:triviadb?user=root";
this.dbConn = DriverManager.getConnection(dbUrl);

关闭连接代码是

this.dbConn.close();

这如何保持连接始终打开?

【问题讨论】:

    标签: jdbc server google-cloud-sql google-app-engine


    【解决方案1】:

    如果连接关闭代码实际上正在运行,这应该不是问题。即使事先发生异常,您也应该确保连接已关闭。

    您使用 MySQL 命令行客户端建立的连接也可能仍处于打开状态。

    您可以通过使用 MySQL 命令行客户端进行连接并运行 SHOW PROCESSLIST; 语句来检查打开了哪些连接。

    【讨论】:

    • 谢谢@David,我ll add closing connection even if an exception occurs. But this is not the case here, Im 确定连接关闭命令正在运行(我有调试打印输出),当没有请求运行且节目中只有两个连接时,我仍然有 3 个活动连接processlist,一个是show query,一个是sleep命令
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-29
    • 1970-01-01
    • 2017-10-19
    • 2017-10-12
    • 1970-01-01
    相关资源
    最近更新 更多