The code now looks good. It's fine to rollback after you do the commit. Thomas On Mon, 10 Apr 2006, Jim Caserta wrote: > So if I'm using the following code below, > My question is: > Even if the connection is fine and the database logic > does it's stuff correctly (Do Stuff).. > And the connection is NOT closed. It's ok to do the > "rollback" since the commit worked fine also. correct? > > Connection dbConn = null; > try { > dbConn = > Torque.getConnection("db2.torque.environment"); > ////Do Stuff > dbConn.commit(); > } > finally { > if (dbConn == null) { > //Connection error logic > } > if (!dbConn.isClosed()) { > dbConn.rollback(); > dbConn.close(); > } > } > > --- Thomas Fischer wrote: > >> >> Jim Caserta schrieb am >> 10.04.2006 17:40:05: >> >>> Sorry about the confusion. I meant using >>> Torque.getConnection() and dbConn.close() instead >> of >>> Transaction.begin().. >> >> For any DB which supports transactions: _Make sure_ >> that the connection is >> in autocommit mode or use Transaction.begin and >> Transaction.commit() or do >> both. If you do not commit/rollback and are not in >> autocommit mode you can >> run into ugly trouble (e.g. if the transaction >> serialization is read >> committed, other connections will never see the >> changes to the data in the >> uncommitted transaction and the like). >> >>> And if iI was. the following would work well? >>> >>> >>> Connection dbConn = null; >>> try { >>> // get a connection from the pool >>> dbConn = >>> Torque.getConnection(db2.torque.environment); >>> ////Do Stuff >>> //Commit the transaction >>> dbConn.commit(); >>> } >>> finally { >>> if (!dbConn.isClosed()) { >>> // some error occurred, try to rollback >> and return >>> connection to the pool >>> dbConn.close(); >>> dbConn.rollback(); //Is this needed? >>> } >>> } >> >> This is similar to an earlier version I used some >> time ago. The problem is >> it would throw a NullPointerException in the finally >> block if >> Torque.getConnection() fails. Also, you should >> rollback() before you >> close(). >> >> Whatever code you use in the end, make sure (i.e. >> _test_) that an error in >> retrieving/working with the connection is handled >> correctly. >> >> Thomas >> >> >> > --------------------------------------------------------------------- >> To unsubscribe, e-mail: >> torque-user-unsubscribe@db.apache.org >> For additional commands, e-mail: >> torque-user-help@db.apache.org >> >> > > > __________________________________________________ > Do You Yahoo!? > Tired of spam? Yahoo! Mail has the best spam protection around > http://mail.yahoo.com > > --------------------------------------------------------------------- > To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org > For additional commands, e-mail: torque-user-help@db.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org For additional commands, e-mail: torque-user-help@db.apache.org