2

db.DbTransaction getConnection:空

java.sql.SQLException: Transient error, please try again.
    at 

    com.google.appengine.api.rdbms.RdbmsApiProxyClient$ApiProxyBlockingInterface.makeSyncCall(RdbmsApiProxyClient.java:108)
        at com.google.appengine.api.rdbms.RdbmsApiProxyClient$ApiProxyBlockingInterface.openConnection(RdbmsApiProxyClient.java:71)
        at com.google.cloud.sql.jdbc.internal.SqlProtoClient.openConnection(SqlProtoClient.java:58)
        at com.google.cloud.sql.jdbc.Driver.connect(Driver.java:66)
        at com.google.cloud.sql.jdbc.Driver.connect(Driver.java:26)
        at java.sql.DriverManager.getConnection(DriverManager.java:620)
        at java.sql.DriverManager.getConnection(DriverManager.java:222)
        at db.DbTransaction.getConnection(DbTransaction.java:44)

当我重新启动 Google Cloud SQL 的实例时,它就解决了。它背后的原因是什么,我该如何解决。我在这个应用程序中使用了基于 servlet 的连接池。异常的原因是否与连接池有关或是否有任何与 App Engine 实例相关的问题与 Google Cloud SQL 的并发连接不能超过 30 个,因此泄漏最终会导致新连接失败https://developers. google.com/appengine/docs/java/cloud-sql/)。

4

0 回答 0