3 Replies Latest reply on Nov 2, 2016 10:52 AM by jaikiran

    EAP 7.0 with EJB 3.0

    pepe.caballero.caballero

      Good Morning

       

       

      I'm trying to migrate an application developed for WebLogic EAR 10.3.6 JBoss EAP 6.0 or 7.0. The main problem that I encounter is that JBOSS fails because it says I'm not doing the EJB 3.1 specifications . Is there any way to force the use of specifications 3.0 ?.

       

       

      Thanks in advance

        • 1. Re: EAP 7.0 with EJB 3.0
          jaikiran

          What exact errors are you running into. Can you paste the exception stacktrace? EJB 3.1 is backward compatible and as far as I remember shouldn't cause EJB 3.0 apps to fail

          • 2. Re: EAP 7.0 with EJB 3.0
            pepe.caballero.caballero

            2016-10-06 15:09:53,790 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-1) MSC000001: Failed to start service jboss.deployment.unit."LDAP.ear".PARSE: org.jboss.msc.service.StartException in service jboss.deployment.unit."LDAP.ear".PARSE: WFLYSRV0153: Error al procesar la fase PARSE de deployment "LDAP.ear"

              at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:154)

              at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)

              at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)

              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

              at java.lang.Thread.run(Thread.java:745)

            Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: WFLYEJB0092: Se requiere el atributo @EJB 'beanInterface' para las anotaciones de nivel de clase. Clase: intgr.model.facade.colas.ColasMiFacadeBean

              at org.jboss.as.ejb3.deployment.processors.EjbResourceInjectionAnnotationProcessor.processClass(EjbResourceInjectionAnnotationProcessor.java:141)

              at org.jboss.as.ejb3.deployment.processors.EjbResourceInjectionAnnotationProcessor.deploy(EjbResourceInjectionAnnotationProcessor.java:92)

              at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:147)

              ... 5 more

            • 3. Re: EAP 7.0 with EJB 3.0
              jaikiran

              So it looks like you have a class level @EJB annotation on the ColasMiFacadeBean class. A class @EJB essentially means that you want that target EJB to be bound into the JNDI namespace that's scoped to the ColasMiFacadeBean bean. However, the container won't know what target bean you are referring to. So you are expected to pass the interface name of the target bean in that beanInterface attribute. This has always been an requirement since EJB 3.0 as far as I remember.