[jboss-jira] [JBoss JIRA] (AS7-5074) @Inject'ed bean at another @Singleton is null on @PostConstruct (both with @Startup)

Stuart Douglas (JIRA) jira-events at lists.jboss.org
Sat Jun 30 22:51:12 EDT 2012


     [ https://issues.jboss.org/browse/AS7-5074?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

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

        


More information about the jboss-jira mailing list