[ https://issues.apache.org/jira/browse/IBATIS-462?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Clinton Begin closed IBATIS-462. -------------------------------- Resolution: Won't Fix Assignee: Clinton Begin we do as much as is possible to ensure that your connections are closed etc. You are solely responsible to ensure you're using the correct start/commit/end pattern. commit can't close the connection, as many people commit more than once in a single transaction scope. > Nested Transaction or Without commitTransaction > ----------------------------------------------- > > Key: IBATIS-462 > URL: https://issues.apache.org/jira/browse/IBATIS-462 > Project: iBatis for Java > Issue Type: Bug > Affects Versions: 2.0.8 > Environment: WebSphere,RAD,iBatis 2.0.7 > Reporter: Chirag > Assignee: Clinton Begin > Priority: Blocker > > iBatis documentation says: > Note! Transactions cannot be nested. Calling .startTransaction() from the > same thread more than once, > before calling commit() or rollback(), will cause an exception to be thrown. > In other words, each thread can > have -at most- one transaction open, per SqlMapClient instance. > Note! SqlMapClient transactions use Java's ThreadLocal store for storing > transactional objects. This means > that each thread that calls startTransaction() will get a unique Connection > object for their transaction. The > only way to return a connection to the DataSource (or close the connection) > is to call commitTransaction() > or endTransaction(). Not doing so could cause your pool to run out of > connections and lock up. > Issue: > Our requests were failing intermittently because it was going to different > schema and returning null resultMap. We found this issue when lot of people > started testing. > We fixed by making following changes. > 1) We had clientDAOManager.commitTransaction() and there was no > clientDAOManager.endTransaction() after that. We did not need commit, so we > removed that and added clientDAOManager.endTransaction() > 2) We removed nested transaction. > Looks like both of the issues should have been handled by iBatis. We did not > get exception for nestedTransaction. > commitTransaction should have returned connection to the pool gracefully even > if endTransaction was not called. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.