1 Reply Latest reply: Nov 29, 2009 2:38 AM by jaikiran pai RSS

    Deployment error Jboss5.1.0  Inject spring2.5 bean in EJB3.0

    kumaran srinivasan Newbie

      I am using EJB3.0 and Spring 2.5 in my project .Using EJB3.0 as session facade bean. Trying to Inject Spring beans into EJB3 session bean using @Interceptors(SpringBeanAutowiringInterceptor.class) and @Autowired anontations

      Here is my ear package struture

      freeads.ear
      |
      |--APP-INF
      | |--lib ( contains all the jars files -Spring,Jboss ,hibernate)
      |
      |--META-INF
      | |--application.xml
      | |--jboss-app.xml
      | |--MANIFEST.MF
      |-- freeads-ejb.jar
      |-- META-INF
      |-ejb-jar.xml
      |-MANIFEST.MF

      wf.ear has only one ejb jar under wf.ear & one application jar freeads.jar that contains all the,spring beans, spring applicationContext.xml, beanrefContext.xml,helper classes & dao layers under APP_INF\lib

      All other jars files (jboss,spring & hbernate) are also APP_INF\lib

      when i try to deploy in JBOSS5.1.0 under server\default\deploy folder it throws below exception. It seems EHB bean class inside freeads.jar was not able to recognize meta data like @interceptors and @ Autowired but i am not sure ...Please help me in resolving the issue.This is my first time injecting Spring bean in EJB3.0

      14:26:30,795 WARN [Ejb3AnnotationHandler] JBMETA-4: did not find any bean meta data for annotation bean AdsReplySessionBean, will create some
      14:26:30,826 ERROR [AbstractKernelController] Error installing to Real: name=vfszip:/D:/jboss-5.1.0.GA/server/default/deploy/freeads.ear/ state=PreReal mode=Manual requiredState=Real
      org.jboss.deployers.spi.DeploymentException: Error deploying freeads-ejb.jar: Error creating ejb container AdsReplySessionBean: Bean Class com.bluec.freeads.ejb.AdsReplySessionBean has no local, webservice, or remote interfaces defined and does not implement at least one business interface: AdsReplySessionBean
      at org.jboss.ejb3.deployers.Ejb3Deployer.deploy(Ejb3Deployer.java:196)
      at org.jboss.ejb3.deployers.Ejb3Deployer.deploy(Ejb3Deployer.java:99)
      at org.jboss.deployers.vfs.spi.deployer.AbstractVFSRealDeployer.internalDeploy(AbstractVFSRealDeployer.java:45)
      at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
      at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)
      at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439)
      at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157)
      at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1210)
      at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098)
      at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
      at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
      at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
      at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
      at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
      at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
      at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
      at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:781)
      at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:702)
      at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117)
      at org.jboss.system.server.profileservice.repository.ProfileDeployAction.install(ProfileDeployAction.java:70)
      at org.jboss.system.server.profileservice.repository.AbstractProfileAction.install(AbstractProfileAction.java:53)
      at org.jboss.system.server.profileservice.repository.AbstractProfileService.install(AbstractProfileService.java:361)
      at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
      at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
      at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
      at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
      at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
      at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
      at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
      at org.jboss.system.server.profileservice.repository.AbstractProfileService.activateProfile(AbstractProfileService.java:306)
      at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:271)
      at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:461)
      at org.jboss.Main.boot(Main.java:221)
      at org.jboss.Main$1.run(Main.java:556)
      at java.lang.Thread.run(Thread.java:595)
      Caused by: org.jboss.deployers.spi.DeploymentException: Error creating ejb container AdsReplySessionBean: Bean Class com.bluec.freeads.ejb.AdsReplySessionBean has no local, webservice, or remote interfaces defined and does not implement at least one business interface: AdsReplySessionBean
      at org.jboss.ejb3.Ejb3Deployment.deployElement(Ejb3Deployment.java:732)
      at org.jboss.ejb3.Ejb3Deployment.deployElement(Ejb3Deployment.java:669)
      at org.jboss.ejb3.Ejb3Deployment.deployUrl(Ejb3Deployment.java:651)
      at org.jboss.ejb3.Ejb3Deployment.deploy(Ejb3Deployment.java:614)
      at org.jboss.ejb3.Ejb3Deployment.create(Ejb3Deployment.java:491)
      at org.jboss.ejb3.deployers.Ejb3Deployer.deploy(Ejb3Deployer.java:182)
      ... 34 more
      Caused by: java.lang.RuntimeException: Bean Class com.bluec.freeads.ejb.AdsReplySessionBean has no local, webservice, or remote interfaces defined and does not implement at least one business interface: AdsReplySessionBean
      at org.jboss.ejb3.proxy.factory.ProxyFactoryHelper.getLocalAndBusinessLocalInterfaces(ProxyFactoryHelper.java:255)
      at org.jboss.ejb3.proxy.factory.ProxyFactoryHelper.getLocalBusinessInterfaces(ProxyFactoryHelper.java:550)
      at org.jboss.ejb3.session.SessionContainer.resolveBusinessInterfaces(SessionContainer.java:192)
      at org.jboss.ejb3.EJBContainer.instantiated(EJBContainer.java:1564)
      at org.jboss.ejb3.session.SessionContainer.instantiated(SessionContainer.java:182)
      at org.jboss.ejb3.Ejb3Deployment.deployElement(Ejb3Deployment.java:726)


      Thanks
      kumaran