[cdi-dev] [JBoss JIRA] (CDI-420) add a bean-discovery-mode 'scoped'

Matej Novotny (JIRA) issues at jboss.org
Thu Jun 9 02:03:00 EDT 2016


    [ https://issues.jboss.org/browse/CDI-420?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13250019#comment-13250019 ] 

Matej Novotny edited comment on CDI-420 at 6/9/16 2:02 AM:
-----------------------------------------------------------

[~emilyj] to be precise, Martin's snippet could be used in both, "all" and "annotated" modes.
To achieve the behaviour described in this issue, you obviously want to use it with "all".

But sometimes it might be useful to use it with "annotated" - that way it would allow you to "veto" beans which actually have bean defining annotation. So all in all, this solution also offer some covers other possible use cases.

bq. I think this should work and involves less change. I think if we directly expand the section 12.4.2. Exclude filters, we might be able to explain well.
Agreed, that would be a great place to explain this.


was (Author: manovotn):
[~emilyj] to be precise, Martin's snippet could be used in both, "all" and "annotated" modes.
To achieve the behaviour described in this issue, you obviously want to use it with "all".

But sometimes it might be useful to use it with "annotated" - that way it would allow you to "veto" beans which actually have bean defining annotation. So all in all, this solution also offer some covers other possible use cases.

> 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