ThreadLocal bound DataContext is not obtainable in a multi-thread for a request 
environment such as ZK
------------------------------------------------------------------------------------------------------

                 Key: CAY-791
                 URL: https://issues.apache.org/cayenne/browse/CAY-791
             Project: Cayenne
          Issue Type: Bug
          Components: Cayenne Core Library
    Affects Versions: 2.0 [STABLE], 3.0
         Environment: ZK Ajax framework and any other multi-thread per request 
environment
            Reporter: Steve Wells
         Assigned To: Andrus Adamchik


Having hit my first roadblock now is getting DataContext, as each ZK request 
runs in a separate thread (see: 
http://www.zkoss.org/smalltalks/zkacegi/zkacegi.dsp ) I think this is the 
problem why I can't get DC with WebApplicationContextFilter and 
DataContext.getThreadDataContext ().  I get  "IllegalStateException: Current 
thread has no bound DataContext." 
 
Looking into src for DataContext I see this comment // TODO: Andrus, 11/7/2005 
- should we use InheritableThreadLocal instead?
 
So I subclassed DataContext and overrode the :
ThreadLocal threadDataContext
 
to be 
 
InheritableThreadLocal threadDataContext
 
changed WebApplicationContextFilter to call my subclassed DataContext and it 
works.

HOWEVER!  This possible solution may be dangerous and currently needs more 
investigation. 


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to