[jboss-jira] [JBoss JIRA] (AS7-4567) Weld does not find CDI Beans within AS7 modules

Juan Hernández (JIRA) jira-events at lists.jboss.org
Fri Mar 22 10:21:42 EDT 2013


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

Juan Hernández commented on AS7-4567:
-------------------------------------

I am testing this with EAP 6.1 Alpha and apparently it works only partially. The beans packaged in a module can be injected, but it looks like the annotations in those beans are not processed. I have a bean that looks like this inside a module:

{code:java}
@ApplicationScoped
public class MyBean {
  @PostConstruct
  public void init() {
    System.out.println("init");
  }
}
{code}

I added this to the {{jboss-deployment-structure.xml}} file of a {{.ear}} where I have EJB that need this bean injected:

{code:xml}
<dependencies>
  <module name="org.mymodule" export="true" meta-inf="import"/>
</dependencies>
{code}

Then I have something like this in the EJB:

{code:java}
@Singleton
public class MyEjb ... {
  @Inject
  private MyBean myBean;
}
{code}

What happens then is that the injection works, but a new instance of MyBean is created for each call to the EJB. In addition the method marked with {{@PostConstruct}} is never executed.

Is this the expected behavior?
                
> Weld does not find CDI Beans within AS7 modules
> -----------------------------------------------
>
>                 Key: AS7-4567
>                 URL: https://issues.jboss.org/browse/AS7-4567
>             Project: Application Server 7
>          Issue Type: Feature Request
>          Components: CDI / Weld
>    Affects Versions: 7.1.0.Final, 7.1.1.Final
>            Reporter: Gernot P
>            Assignee: Stuart Douglas
>             Fix For: EAP 6.1.0.Alpha (7.2.0.Final)
>
>
> I've a my.jar which contains cdi beans and cdi producer methods and a META-INF/beans.xml file.
> Putting this jar to WEB-INF/lib in my war, the web app can use the cdi producer methods of my.jar.
> After moving my.jar from WEB-INF/lib to a AS7 module(and adding a dependency in the war's MANIFEST.MF) AS7 reports
> org.jboss.weld.exceptions.DeploymentException: WELD-001408 Unsatisfied dependencies for type [BeanXY] with qualifiers [@Default] at injection point [[field] @Inject
> It seams that weld does not (or cannot) scan my.jar which is inside AS7 module. (instantiating BeanXY directly ("new BeanXY()")  works - so the module is loaded correctly)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira



More information about the jboss-jira mailing list