[cdi-dev] [JBoss JIRA] Commented: (CDI-129) introduce @EnterpriseScoped (or similar)

Mark Struberg (JIRA) jira-events at lists.jboss.org
Wed May 18 05:13:00 EDT 2011

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

Mark Struberg commented on CDI-129:

You are right, if the EE container does not implement the suggestions of the first paragraph of JSR-316 EE.8.3.1 but decides to use reduced or no classloader isolation at all then 'non-portable behaviour occurs'.

I personally consider this an insane scenario, and the EE-7 spec should find very clear words that this is crap and should only be used in exceptional cases, e.g. for backward compatibility with old projects ;)

For the (web) @ApplicationScoped only applying to one webapp - this is also possible if there is no classloader isolation at all. For handlig this case in OpenWebBeans, we are just setting the 'one' @ApplicationScoped for a certain request to a ThreadLocal (See OWBs WebContextsService - we are doing this via a RequestListener subsequently via initRequestContext() ). Remember that we have plugable lifecycle handlers in OWB. This would not be necessary if there is a well defined ClassLoader isolation in place (as suggested - we could then just use the ContextClassLoader in this case) but this works really well with very old WebLogic servers in a big swiss bank already ;) 

> introduce @EnterpriseScoped (or similar)
> ----------------------------------------
>                 Key: CDI-129
>                 URL: https://issues.jboss.org/browse/CDI-129
>             Project: CDI Specification Issues
>          Issue Type: Feature Request
>          Components: Contexts
>    Affects Versions: 1.0
>            Reporter: Mark Struberg
>             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.
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the cdi-dev mailing list