If parameter bean does a query in property reader, causes premature return to connection pool ---------------------------------------------------------------------------------------------
Key: IBATIS-233 URL: http://issues.apache.org/jira/browse/IBATIS-233 Project: iBatis for Java Type: Bug Versions: 2.1.5 Environment: OS: Windows XP, Windows 2000 JDK: 1.3.1, 1.4.2 DBMS: SQL Server 2000, Derby Application Server: Weblogic 6.1 SP4 Reporter: Jason Erickson If you have a bean with a getter that makes an iBATIS call, and you use that bean as a parameter bean in another iBATIS call, iBATIS calls the getter while preparing the main statement which prepares another statement to populate the getter. After that, the connection is returned to the pool. Then the main prepared statement is executed and a SQLException is thrown. The message depends on the driver, but jtds error message is, "Error accessing SimplePooledConnection. Connection has been invalidated (probably released back to the pool)." When using the Weblogic application server for connection pool, the error message is, "Connection has already been closed." The workaround is to put a transaction around the main call, but it can be quite difficult to know in advance if this will be a problem. (In our particular case, we had a rather expensive query called inside a cache object. Then we had a getter call the cache, so this only occurred when this query was the next query called after the cache had been marked "dirty" so the next call to it would reinitialize it (i.e. make another iBATIS call). -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira