[ http://issues.apache.org/jira/browse/IBATIS-233?page=all ]
     
Clinton Begin closed IBATIS-233:
--------------------------------

    Resolution: Won't Fix
     Assign To: Clinton Begin


Unfortunately that is simply a pattern we cannot support.  Partially because 
it's a semantic that the relatively "flat" transaction model supported by 
relational databases....but also because it's simply a VERY dangerous design.  

Sorry.

> 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
>     Assignee: Clinton Begin
>  Attachments: iBATIS Bug.zip
>
> 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

Reply via email to