Hi all,
I think org.hibernate.engine.transaction.Isolater is not handling connections
properly:
The method JdbcDelegate is currently implemented as follows:
public static class JdbcDelegate implements Delegate {
...
public void delegateWork(IsolatedWork work) throws
HibernateException {
Connection connection = null;
try {
connection =
session.getBatcher().openConnection();
...
}
...
}
finally {
if ( wasAutoCommit ) {
try {
connection.setAutoCommit( true
);
}
catch( Throwable ignore ) {
log.trace( "was unable to reset
connection back to auto-commit" );
}
session.getBatcher().closeConnection(
connection );
}
}
}
}
This means that the connection will only be closed if wasAutoCommit==true but I
think it should be closed in any circumstance:
public static class JdbcDelegate implements Delegate {
...
public void delegateWork(IsolatedWork work) throws
HibernateException {
Connection connection = null;
try {
connection =
session.getBatcher().openConnection();
...
}
...
}
finally {
if ( wasAutoCommit ) {
try {
connection.setAutoCommit( true
);
}
catch( Throwable ignore ) {
log.trace( "was unable to reset
connection back to auto-commit" );
}
}
session.getBatcher().closeConnection(
connection );
}
}
}
What do you think ?
--
"Feel free" – 10 GB Mailbox, 100 FreeSMS/Monat ...
Jetzt GMX TopMail testen: http://www.gmx.net/de/go/topmail
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
hibernate-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/hibernate-devel