过了一会儿我得到了这个错误,那么在给我的单例之前如何确保连接没有死?
这是我的代码:
public static Connection getInstance() throws Exception {
if(connection != null) {
return connection;
}
DriverManager.registerDriver(new AppEngineDriver());
connection = DriverManager.getConnection("jdbc:google:rdbms://"+instanceName+"/vidaao");
return connection;
}
堆栈跟踪:
java.sql.SQLException:此连接已关闭。在 com.google.cloud.sql.jdbc.internal.Exceptions.newConnectionClosedException(Exceptions.java:52) 在 com.google.cloud.sql.jdbc.Connection.throwIfNotOpen(Connection.java:633) 在 com.google.cloud .sql.jdbc.Connection.getHoldability(Connection.java:194) 在 com.google.cloud.sql.jdbc.Connection.createStatement(Connection.java:123) 在 com.google.cloud.sql.jdbc.Connection.createStatement (Connection.java:54) at db.DbUser.exist(DbUser.java:209) at controller.CtrlUser.login(CtrlUser.java:343) at vidaao.ConnectServlet.doPost(ConnectServlet.java:36) at javax.servlet .http.HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) at组织。
我尝试使用 isClosed() 但不起作用,并且 isValid() 看起来可以正常工作,但每次都会减慢与数据库的连接