On 2 Oct 2010, at 15:14, Justin Edelson wrote: > Have you tried this with a trunk build of JR 2.2? IIRC, some fairly > significant changes have been made with respect to concurrent session access > which might help with this issue.
I have had a look and AFAICT, there is one AccessControlProvider per workspace shared by multiple threads and the key methods in the ItemManager are still synchronized, so on inspection the problem is still there in trunk at the moment. However I haven't tried porting SLing to JR2.2 to verify that 100%. It would take either binding an access control provider to each thread, or using a session bound to each thread. I did do a quick experiment binding at creation but it looks like the access control provider is shared between threads so binding it on creation doesn't work. Using a session bound to each thread (or on the stack) is going to take some patching of most of the classes in the stack. Ian