[ http://issues.apache.org/jira/browse/IBATIS-318?page=all ]
     
Jeff Butler closed IBATIS-318:
------------------------------

    Resolution: Invalid

This is working as designed.  You cannot have a transaction that spans threads. 
 If you want to do something like this you'll have to guarantee thread 
affinity.  But I would suggest not doing this.  You would have the same issue 
in many transaction managers - because most of them use a ThreadLocal.


> Transaction demarcated accross multiple threads...
> --------------------------------------------------
>
>          Key: IBATIS-318
>          URL: http://issues.apache.org/jira/browse/IBATIS-318
>      Project: iBatis for Java
>         Type: Bug

>   Components: SQL Maps
>     Versions: 2.1.5
>     Reporter: adamb

>
> We are using iBATIS in the following way:
> send the server a message which will do a SqlMap.startTransaction()
> ...
> some time later
> ...
> send the server a message which will do a SqlMap.<some sql operation>
> ...
> If we set:
> Pool.MaximumActiveConnections=1
> Then we hit problems if the thread that does operations on the SqlMap is 
> different to the thread which started the transaction
> because
> SqlMapClientImpl.getLocalSqlMapSession()
> stores the session in a Threadlocal so it finds no session and attempts to 
> automatically create a new one, but since the max connections has been 
> reached it fails.

-- 
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