Is closing a ResulSet, Statement or connection act as a rollback when a transaction is not commited? Not clear in JavaDoc.
От | David Gagnon |
---|---|
Тема | Is closing a ResulSet, Statement or connection act as a rollback when a transaction is not commited? Not clear in JavaDoc. |
Дата | |
Msg-id | 4266992B.2080901@siunik.com обсуждение исходный текст |
Ответ на | Re: implementing asynchronous notifications (David Gagnon <dgagnon@siunik.com>) |
Ответы |
Re: Is closing a ResulSet, Statement or connection act as
|
Список | pgsql-jdbc |
Hi all, I use the following code when accessing Postgreql. I suspect it may have a weakness if an exception (Not SQLException) is thrown in the try/catch block. I got a NullPointerException today so with the following code there is no rollback on the trasaction but the ResultSet/Connection/Statement will be closed (in finally block). Is that oki? I will probably change the catch (SQLException e) for a catch (Exception e). I just wanted to be sure since it's not clear in the javadoc that closing a uncomitted resultSet is the samething as issuing a rollback prior to closing the ResultSet. Thanks for your help!! It's really appreciated /David try { dbCon = ConnectionFactory.getConnection(); dbCon.startTransaction(); ... Throws NullPointerException... ... dbCon.commitTransaction(); } catch (SQLException e) { log.error("Problem with the db : " + e.getMessage(), e); try { dbCon.rollbackTransaction(); } catch (SQLException e1) { log.error("Unable to rollback : " + e1.getMessage(), e); } ExceptionAdaptor.instance().getMappedException(e, "Unable to add : " + e.getMessage(), true, ExceptionAdaptor.ACTION_INSERT); } finally { if (dbCon != null) dbCon.closeAll(); }
В списке pgsql-jdbc по дате отправления: