2 Replies Latest reply on Jul 21, 2010 9:11 AM by Pete Muir

    Correct way to inject BeanManager into portable extension?

    Laird Nelson Apprentice

      Hello.  I am attempting to write a portable extension.  I have it so that the container (Glassfish 3.1b09) identifies my extension and loads it properly.  However, I cannot seem to inject a BeanManager into my extension for programmatic use.

      I have tried this:

      private BeanManager beanManager;

      ...and this:

      public void afterDeploymentValidation(@Observes AfterDeploymentValidation event, BeanManager beanManager) {

      ...but neither worked.  In the first case, the BeanManager is simply not injected.  In the second case, I get the following exception on deployment:

      WELD-000408 org.jboss.weld.event-ObserverMethod-com.foobar.MyPortableExtension.method afterDeploymentValidation(javax.enterprise.inject.spi.AfterDeploymentValidation, javax.enterprise.inject.spi.BeanManager) cannot be annotated with @Initializer

      Is this pilot error or a bug in Glassfish's Weld integration?