[
https://issues.jboss.org/browse/CDI-18?page=com.atlassian.jira.plugin.sys...
]
Pete Muir commented on CDI-18:
------------------------------
I've updated this quite substantially to account for @Priority:
* I've removed all the stuff I moved to the interceptors spec, and updated the CDI
spec to just cover any extensions it makes
* I've totally removed the xml definition of priorities, and returned XML enablement
to how it worked in 1.0. This means we keep the 1.0 mechanism intact for backwards compat
* I've added global enablement using @Priority for decorators, based on the definition
in the interceptors spec, and reusing priority ranges from there.
* I've added global enablement using @Priority for alternatives, based on the simple
principle that the highest priority wins, as we had it before
* I've allowed @Priority to be altered during PAT
* CDI-3 allows an absolute order of interceptors, decorators and alternatives to be set in
the AfterTypeDiscovery event
I know many were hoping to be able to override @Priority using xml, however I decided not
to do this in the end:
(a) it keeps the XML definition clean for the 1.0 backwards compat. I tried to merge the
two last time, and it ended up being tough to spec, and tough to understand, as Mark
mentioned ;-)
(b) it's in keeping with the spirit of CDI to keep the XML config to an absolute
minimum, especially if you can achieve the same via the portable extension SPI. As
we've added that, it would be easy for an extension to implement XML ordering for any
of these things, either by setting priorities, or doing a total order, or any other scheme
it liked.
(c) it's less controversial, and leaves the way open for future changes if we decide
they are necessary.
Global enablement of interceptors, decorators and alternatives
--------------------------------------------------------------
Key: CDI-18
URL:
https://issues.jboss.org/browse/CDI-18
Project: CDI Specification Issues
Issue Type: Feature Request
Components: Beans, Decorators, Interceptors, Packaging and Deployment
Affects Versions: 1.0
Reporter: Mark Struberg
Assignee: Pete Muir
Priority: Critical
Fix For: 1.1.PRD
Currently the spec defines that <interceptors>, <decorators> and
<alternatives> affect only the Bean Archives where they are configured in (via
beans.xml).
Thus if you e.g. enable an Alternative in a WEB-INF/beans.xml, it does NOT count for the
jars in it's WEB-INF/lib folder!
This is pretty unhandy because you would need to repackage all your jars in your
WEB-INF/lib folder and add/expand the <alternatives> sections in their beans.xml.
Needless to say that this is not only hard to do in a company build but is also
impossibly to handle at deploy time in an OSGi environment!
--
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