[
https://issues.jboss.org/browse/AS7-5074?page=com.atlassian.jira.plugin.s...
]
Stuart Douglas resolved AS7-5074.
---------------------------------
Resolution: Done
AS7-1769 is a feature request, it is not implemented yet. If you wish to inject EJB's
across deployments you need to supply the portable JNDI name, e.g.
@EJB(lookup="java:global/module.jar/SharedBean!com.example.SharedBeanInterfaceType")
No resolution of any kind is performed across deployments at the moment, and there is no
facility to perform cross module injection between top level deployments.
We are however looking at implementing some of these features in 7.2, however they are
tracked by other feature request JIRA's (e.g. AS7-4567)
@Inject'ed bean at another @Singleton is null on @PostConstruct
(both with @Startup)
------------------------------------------------------------------------------------
Key: AS7-5074
URL:
https://issues.jboss.org/browse/AS7-5074
Project: Application Server 7
Issue Type: Bug
Components: CDI / Weld, EJB
Affects Versions: 7.1.1.Final
Reporter: Bruno Borges
Assignee: Stuart Douglas
Labels: injection, postconstruct, singleton, startup
module-a.jar and module-b.jar are both TL (top-level) delpoyments on JBoss AS 7.1.1
* module-a.jar has a @Singleton/@Startup named SharedBean
* module-b.jar has a @Singleton/@Startup named Bootstrap
module-b.jar depends on module-a.jar through jboss-deployment-structure.xml:
<jboss-deployment-structure>
<delpoyment>
<dependencies>
<module name="deployment.module-a.jar" />
</dependencies>
</deployment>
</jboss-deployment-structure>
When I enable module-a.jar, SharedBean is started fine (it has a @PostConstruct that logs
its state)
When I enable module-b.jar, Bootstrap fails checking the @Inject'ed SharedBean on its
@PostConstruct
Files:
-------------------------
# module-a.jar
@Startup
@Singleton
public class SharedBean {
@PostConstruct
public void started() {
LOGGER.info("SharedBean has started");
}
}
-------------------------
# module-b.jar
@Startup
@Singleton
public class Bootstrap {
@Inject
private SharedBean sharedBean;
@PostConstruct
public void started() {
LOGGER.info("sharedBean is null? " + (sharedBean == null));
}
}
There's no ClassNotFoundException or NoClassDefFoundError. The bean is just not
injected correctly.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira