[
https://issues.jboss.org/browse/CDI-420?page=com.atlassian.jira.plugin.sy...
]
Mark Struberg commented on CDI-420:
-----------------------------------
We had an additional idea in a recent discussion: Keep the current bean-discovery-modes
but adding another beans.xml tag or attribute in addition to bean-discovery-mode which
enables this functionality.
Examples:
{quote}
<beans bean-discovery-mode="all" auto-dependent="false">
</beans>
{quote}
or
{quote}
<beans bean-discovery-mode="all">
<auto-dependent>false</auto-dependent>
</beans>
{quote}
Of course we need to discuss
a.) whether it should be an attribute or tag
b.) the name of the attribute or tag
c.) if the logic should be 'disabling' (auto-dependent="false") or
'enabling' (only-scoped-beans="true")
add a bean-discovery-mode 'scoped'
----------------------------------
Key: CDI-420
URL:
https://issues.jboss.org/browse/CDI-420
Project: CDI Specification Issues
Issue Type: Bug
Components: Packaging and Deployment
Affects Versions: TBD
Reporter: Mark Struberg
Fix For: 2.0 (discussion)
This is for some future CDI release.
We currently only have 3 bean-discovery-modes
* none
* all
* annotated
The spec also currently says that ProcessAnnotatedType will only get fired (12.4) for
• each Java class, interface or enum deployed in an explicit bean archive, and
• each Java class with a bean defining annotation in an implicit bean archive.
• each session bean
Which means that we do not get the ProcessAnnotatedType (PAT) event for any class in an
'annotated' or 'implicit' BDA which does _not_ have a bean defining
annotation.
It might be useful to fire the ProcessAnnotatedType for all classes, but do not pick them
up as Beans if they (after PAT) do not have a valid scope. Effectively doing the
processing but not make them @Dependent automatically if there is no scope annotation at
the end of the PAT processing.
I'm not yet 100% sure how important this distinction is in practice. Just writing
this up to not forget about the idea...
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)