[cdi-dev] [JBoss JIRA] Issue Comment Edited: (CDI-87) Declarative control over classes including in bean archive scanning

Geoffrey De Smet (JIRA) jira-events at lists.jboss.org
Mon Sep 5 08:00:27 EDT 2011


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

Geoffrey De Smet edited comment on CDI-87 at 9/5/11 7:59 AM:
-------------------------------------------------------------

CDI is opt-out by default, which breaks transitive reuse of CDI jars.

Presume this reuse scenario:

seam-solder has solderBeans.xml
seam-security depends on seam-solder and has securityBeans.xml
guvnor depends on seam-security (but not directly on seam-solder) and has guvnorBeans.xml. Transitively, seam-solder appears in the classpath.

So when guvnorBeans.xml does:
  <weld:scan><weld:include>securityBeans.xml</weld:include></weld:scan>
it fails, because solderBeans.xml isn't activated,
because securityBeans.xml doesn't define it's dependent beans.xml explicitly.
The hack of specifying to include solderBeans.xml in guvnorBeans.xml, is bad:
- guvnor doesn't want to know about solder. It's transitive: let seam-security take the heat for it.
- the next version of seam-security might no longer use solderBeans.xml (or instead need extra Beans.xml) => upgrading becomes hard


Possible solution: a beans.xml file should explicitly define its beans.xml dependencies.

      was (Author: ge0ffrey):
    CDI remains is opt-out by default, which breaks transitive reuse of CDI jars.

Presume this reuse scenario:

seam-solder has solderBeans.xml
seam-security depends on seam-solder and has securityBeans.xml
guvnor depends on seam-security (but not directly on seam-solder) and has guvnorBeans.xml. Transitively, seam-solder appears in the classpath.

So when guvnorBeans.xml does:
  <weld:scan><weld:include>securityBeans.xml</weld:include></weld:scan>
it fails, because solderBeans.xml isn't activated,
because securityBeans.xml doesn't define it's dependent beans.xml explicitly.
The hack of specifying to include solderBeans.xml in guvnorBeans.xml, is bad:
- guvnor doesn't want to know about solder. It's transitive: let seam-security take the heat for it.
- the next version of seam-security might no longer use solderBeans.xml (or instead need extra Beans.xml) => upgrading becomes hard


Possible solution: a beans.xml file should explicitly define its beans.xml dependencies.
  
> Declarative control over classes including in bean archive scanning
> -------------------------------------------------------------------
>
>                 Key: CDI-87
>                 URL: https://issues.jboss.org/browse/CDI-87
>             Project: CDI Specification Issues
>          Issue Type: Feature Request
>          Components: Packaging and Deployment
>    Affects Versions: 1.0
>            Reporter: Pete Muir
>             Fix For: 1.1 (Proposed)
>
>
> Weld introduced a XML syntax for this

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the cdi-dev mailing list