[cdi-dev] [JBoss JIRA] (CDI-420) add a bean-discovery-mode 'scoped'
Martin Kouba (JIRA)
issues at jboss.org
Tue Jun 7 08:35:00 EDT 2016
[ https://issues.jboss.org/browse/CDI-420?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13248283#comment-13248283 ]
Martin Kouba edited comment on CDI-420 at 6/7/16 8:34 AM:
----------------------------------------------------------
Hm, what about making it more generic? E.g. something like introducing "exclude filters" for Bean discovery:
{code:xml}
<beans xmlns="http://xmlns.jcp.org/xml/ns/javaee">
<!-- These filters are applied before type discovery -->
<scan>
<exclude name="com.acme.rest.*" />
</scan>
<!-- These filters are applied before bean discovery -->
<process>
<!-- Name is matched against javax.enterprise.inject.spi.AnnotatedType.getJavaClass().getName() -->
<!-- "*" means any AnnotatedType -->
<exclude name="*">
<if-no-bean-defining-annotation />
</exclude>
</process>
</beans>
{code}
was (Author: mkouba):
Hm, what about making it more generic? E.g. something like introducing "exclude filters" for Bean discovery:
{code:xml}
<beans xmlns="http://xmlns.jcp.org/xml/ns/javaee">
<!-- These filters are applied before type discovery -->
<scan>
<exclude name="com.acme.rest.*" />
</scan>
<!-- These filters are applied before bean discovery -->
<process>
<exclude name="*">
<if-no-bean-defining-annotation />
</exclude>
</process>
</beans>
{code}
> 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)
More information about the cdi-dev
mailing list