[
https://issues.jboss.org/browse/CDI-129?page=com.atlassian.jira.plugin.sy...
]
Mark Struberg commented on CDI-129:
-----------------------------------
Probably because of the heavily underspecified classloader behaviour in EE in this area?
I was really confused about this too also. Because the Servlet spec (which the EE umbrella
spec references prominently) imo _exactly_ defines that WebApplications must not interfere
with other WebApplications but must be isolated well from each other.
But most old EE servers (JBoss4 and 5 are perfect examples for this, as are the old
WebLogics) ship with almost no isolation at all it seems! I actually never understood why
they behave this way as _default_!
@Marius: A Bean can only be used in a shared library if it's type is available on the
shared classpath too. E.g. in a ejb-jars lib. And even if one webapp uses an @Alternative
which is only available in this very one webapp, then there is no problem. Because
injecting an @ApplicationScoped bean will still give you the contextual reference (the
proxy). They simply refer to different contextual instances. There is really not much
difference to a @SessionScoped bean of which it's class is in a shared ejb-jars lib.
Or am I overlooking something?
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