db-torque-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jim Caserta <smoothie...@yahoo.com>
Subject RE: Torque Connection pool .. ORA- 01453 - Set Transaction must be the first statement
Date Mon, 10 Apr 2006 16:48:44 GMT
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 <fischer@seitenbau.net> wrote:

> 
> Jim Caserta <smoothie_jc@yahoo.com> 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


Mime
View raw message