[
https://issues.jboss.org/browse/CDI-129?page=com.atlassian.jira.plugin.sy...
]
Pete Muir commented on CDI-129:
-------------------------------
I can say with 99.9% certainty that Gavin (at least) intended the @ApplicationScoped to be
"ear scoped" when deploying inside an EAR. Unfortunately we can't easily go
back and check.
Mark, can you explain what you mean by it behaving differently in this situation. As I see
it, it actually is more consistent to make it work like this.
Regarding
{quote}
Btw, it IS possible to fulfil the the spec. In OWB we handle JMS, and quartzed jobs, etc
as own 'applications' inside the EAR. So they get an own BeanManager and can even
have their own Extensions. See what I mean?
{quote}
this does seem somewhat orthogonal to the question. In Weld an EJB jar would also get
it's own BeanManager (and it should get it's own extensions, this is a bug in Weld
right now) but it shares the Application context with all other modules in the
application. So unless you can clarify what you mean here, I think we can ignore this.
Marius, thanks for digging up those references, I think with those we can be quite
confident that that the spec intends @ApplicationScoped to be "ear scoped" and
that the reference to the Servlet spec was a mistake. In particular the comment "in
an application deployed as an ear" indicates that the CDI spec regards an EAR as an
application, and that coupled with the comment "the application context is shared ...
within the same application" does indicate that the context spans the entire ear. To
me, this is a stronger statement than "represent the standard scopes defined by the
Java Servlets specification" which seems somewhat more descriptive.
Mark, happy to consider adding an @WebApplicationScoped, and we should definitely clarify
what @ApplicationScoped means.
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