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

Pete Muir (JIRA) jira-events at lists.jboss.org
Tue May 17 05:43:00 EDT 2011


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

Pete Muir commented on CDI-129:
-------------------------------

Bill Shannon points out that we also need to consider visibility of the bean when clarifying this. For example, if you have the same bean class specified in two separate wars, both of which are application scoped, you can't share the state between the two (as you would get a CCE).

In fact, this makes me wonder if there isn't an "obvious" solution staring us in the face? If we clarify that @ApplicationScoped means "shared across the ear" and also that the same bean class packaged in two locations which are not visible to one another (e.g. warA and war B) and cannot share state. Now we provide both options of ear scoped state and war scoped state, and the state is only shared if the bean class is packaged in a shared library or shared module (e.g. ejb module).

This seems like a good solution:

a) it means we don't need to proliferate the number of "application scoped" annotations
b) it makes logical sense (if a user wants per-war state, package the bean in a war, if the user wants shared-ear state, then package it as a shared lib).

WDYT?

> 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