[cdi-dev] [JBoss JIRA] (CDI-129) Clarify behaviour of @ApplicationScoped in EARs

Mark Struberg (JIRA) jira-events at lists.jboss.org
Thu Oct 18 03:19:01 EDT 2012

    [ https://issues.jboss.org/browse/CDI-129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12727527#comment-12727527 ] 

Mark Struberg commented on CDI-129:

> What you say is that the Servlet would operate on a 
> different instance of the same R bean than the MailService?

No of course not! At least not in my model, but in your approach this exact problem would happen!

In my model a call stack would ALWAYS get the same contextual instance for the same injection points! Dude there are serious understanding problems we should clarify it seems. Go back a few meters and take a look at it again. We could also again do some tele conference together with pete to clarify the behaviour. You can also take a look at OWB where this perfectly works.

And PLEASE do avoid the term 'bean'. I like to NEVER read BEAN in this thread again, pretty please! It's  sooooo ambiguous! Please erase it from your mind :)

What happens in my scenario is that the same shared class T could resolve to different Bean<T> depending on the webapp. But as each webapp has it's own contextual instances the same code @Inject T t; might end up as T1 in webapp1 and T2 in webapp2. This is not a problem - not even in CDI 1.0 - as the two webapps would get different contextual instances and always see the whole classes of all it's own webapp!.

> Clarify behaviour of @ApplicationScoped in EARs
> -----------------------------------------------
>                 Key: CDI-129
>                 URL: https://issues.jboss.org/browse/CDI-129
>             Project: CDI Specification Issues
>          Issue Type: Clarification
>          Components: Contexts
>    Affects Versions: 1.0
>            Reporter: Mark Struberg
>            Assignee: Pete Muir
>             Fix For: 1.1 (Proposed)
> Since @ApplicationScoped currently is defined in 6.5.2 as to be 'like in the Servlet specification' this means that you will get a new instance for every WebApplication (WAR file).
> There is currently no specified CDI scope for providing a single shared instance for a whole EAR.
> We could (ab-)use @Singleton for that, but this is currently not well defined at all.
> Alternatively we could introduce an own new annotation like @EnterpriseScoped or likes. 

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

More information about the cdi-dev mailing list