[ 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