[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