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.