5 Replies Latest reply on Sep 30, 2010 9:54 AM by Aleksander Adamowski

    InjectionMetaDataDeploymentAspect misuse of EJBContainer.getEnc()

    Carlo de Wolf Master

      EJBTHREE-2056 changes the state of the naming context within the lifecycle of EJBContainer. In essence this is an implementation detail. With this change WS no longer deploys:

      java.lang.IllegalStateException: EJBTHREE-2056: EjbEncFactory is null, usage of java:comp is not allowed before CREATE
          at org.jboss.ejb3.EJBContainer$1.invoke(EJBContainer.java:819)
          at $Proxy146.lookup(Unknown Source)
          at org.jboss.webservices.integration.injection.InjectionMetaDataDeploymentAspect.getJndiContext(InjectionMetaDataDeploymentAspect.java:186)
          at org.jboss.webservices.integration.injection.InjectionMetaDataDeploymentAspect.start(InjectionMetaDataDeploymentAspect.java:149)
          at org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer.internalDeploy(WSDeploymentAspectDeployer.java:114)
          at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:55)
          at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:179)
          ... 69 more
      

      As a quick work-around you could set a dependency on the EJBContainer before you start the InjectionMetaDataDeploymentAspect.

      The final resolution needs to be tied into the jboss-injection component.

       

      PS. I can't figure out what EJB3_JNDI_PREFIX is supposed to mean.