Uploaded image for project: 'JBoss Enterprise Application Platform'
  1. JBoss Enterprise Application Platform
  2. JBEAP-14645

[GSS](7.1.z) Bean discovery in deployment dependencies (modules) fails to inject from static module-alias's exported dependency


    • EAP 7.1.3

      WAR CDI bean is failing to inject a CDI bean from a module-alias exported dependency. war -module-alias -> static module X -> static module Y (containing CDI Beans)
      A WAR uses a module-alias with the slot attribute. This module-alias is referenced in jboss-deployment-structure.xml:

      			<module name="mycompany.test.CDIJarMaven" slot="moduloAliasError" meta-inf="export" annotations="true" />

      moduleAliasError which the app has the target moduloNivel2:

      <module-alias xmlns="urn:jboss:module:1.1" name="mycompany.test.CDIJarMaven" slot="moduloAliasError" target-name="mycompany.test.CDIJarMaven" target-slot="moduloNivel2"/>

      moduloNivel2 which the modulo-alias references depends on main module and is including/exporting META-INF where the beans.xml is located:

      <module xmlns="urn:jboss:module:1.5" name="mycompany.test.CDIJarMaven">
              <resource-root path="CDIJarMaven.jar"/>
      		<module name="javax.faces.api" export="true"/>
      		<!-- Timer de ejbs para el log de acceso-->
      		<module name="javax.ejb.api"/>
      		<module name="javax.enterprise.api" />
      modulo main contains the jar with the CDI beans and has a META-INF/beans.xml in it:
      <module xmlns="urn:jboss:module:1.1" name="mycompany.test.CDIJarMaven" slot="moduloNivel2">
      		<module name="mycompany.test.CDIJarMaven" slot="main" export="true">
                      <include path="META-INF**" />
                      <include path="META-INF**" />

      The error we get is:

      WELD-001408: Unsatisfied dependencies for type PruebaDTO with qualifiers @Default
        at injection point [BackedAnnotatedField] @Inject private backingbeans.Page1.paginacion
        at backingbeans.Page1.paginacion(Page1.java:0)

      Checking the code one can see how the beans.xml is seen :

      EXTERNAL BeanDeploymentArchive (awar-mock02.war.external.jar:file:/jboss-eap-7.1/modules/mycompany/test/CDIJarMaven/main/CDIJarMaven.jar!/META-INF/beans.xml)

            spyrkob Bartosz Spyrko-Smietanko
            rhn-support-tmiyargi Teresa Miyar Gil (Inactive)
            Jiří Bílek Jiří Bílek (Inactive)
            Jiří Bílek Jiří Bílek (Inactive)
            0 Vote for this issue
            10 Start watching this issue