Я использую javax.sql.rowset.JdbcRowSet
и com.sun.rowset.JdbcRowSetImpl
для управления данными. Все работает нормально, но я получаю предупреждение, что я могу получить утечку ресурсов.JDBC RowSets using singleton Connection
Кроме того, я использую singleton Connection в конструкторе JdbcRowSet, который всегда открыт, но когда я использую JdbcRowSet close()
, я не могу использовать его в следующем методе.
Вот код.
public static Connection conn = DBConnection.getInstance()
.getConnection();
(not the exact work, only a sample code)
private static void function1() {
try {
JdbcRowSet myrs = new JdbcRowSetImpl(conn);
myrs.setCommand("SELECT * FROM `table1`");
myrs.execute();
//result iteration
myrs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
private static void function2() {
same as function1 (for example, not really important here)
}
public static void start(){
function1();
function2();
}
Когда он получает выполнить myrs
в function2()
я получаю сообщение об ошибке:
at com.sun.rowset.JdbcRowSetImpl.execute(Unknown Source)
Любой знает, как решить эту проблему?
Что происходит, если вы дважды выполняете функцию1? –
@FrankOlschewski То же самое, что я выполнил function2. – Ivan