[ 
https://issues.apache.org/jira/browse/DELTASPIKE-745?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14182734#comment-14182734
 ] 

Mark Struberg commented on DELTASPIKE-745:
------------------------------------------

john, the issue is more subtle I fear. using createContextControl is not 
enough. The main issue is that the way as we suggest using ContextControl 

startSession
startRequest
doSomeWork
stopRequest
stopSession

you will call stopSession for each thread. Thus if the Context really shares 
the dummy-session state across threads, than the other threads will end up 
without any assigned storage.  Other containers support this really fine.
Btw, for the user there must be no difference between getContextControl and  
createContextControl();
I've no clue why we have this second method at all, it must get removed imo. 
This is nowhere near usable for end users and is highly Weld specific.

ContextControl is per definition stateless! It just controlls the various 
contexts inside the container.


> cdictr-weld ContextControl.startContext doesn't properly start RequestScoped 
> context
> ------------------------------------------------------------------------------------
>
>                 Key: DELTASPIKE-745
>                 URL: https://issues.apache.org/jira/browse/DELTASPIKE-745
>             Project: DeltaSpike
>          Issue Type: Bug
>          Components: CdiControl
>    Affects Versions: 1.0.3
>            Reporter: Mark Struberg
>            Assignee: Mark Struberg
>             Fix For: 1.0.4
>
>
> I added a multi threading test into our TCK to check if 
> ContextControl#startContext works properly even for new threads.
> But this blows up with a ContextNotActiveException deep inside Weld.
> I need some help from Weld guys to check what we do wrong.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to