我有一个xml文件,用于通过Java类(DB_Conn)获取数据库信息和数据库。在DB_Conn中我有一个getconnection(),它读取xml文件并启动如下所示的连接
my_conn_obj = DriverManager.getConnection(my_Path.item(0).getNodeValue() + my_DBname.item(0).getNodeValue(), my_User.item(0).getNodeValue(), my_Pass.item(0).getNodeValue());
。在该方法中,我返回一个连接对象(my_conn_obj)。我已经定义它在类的开头有null 然后在一个单独的Java类中,我使用
DB_Conn db = New DB_Conn();
每当我需要/打开连接时,我都会使用
Connection conn;
conn=db.getconnection();
我已经关闭了所有连接,并且已经正确地设置了try。它正常工作,但是当我闲置一段时间然后当我刷新页面时,我有时并不总是得到未知数据库名称“null”并且没有操作在连接关闭异常后允许。
答案 0 :(得分:2)
可能发生的事情是连接处于打开状态并且超时,或者您已将其关闭并需要重新连接。
所以当你使用
时Connection conn;
conn=db.getconnection();
确保在getConnection中执行类似
的操作public Connection getConnection() {
if (classRefToConnection == null || classRefToConnection.isClosed()) {
//RE create or connect the connection before returning
}
}