EJB dentro de .WAR

3 respostas
rafaelrodrigues1607

Pessoal, me falaram que não posso usar EJB somente dentro de um .WAR. Disseram que eu tenho que usar o . WAR dentro de um EAR. Será que é isso mesmo. Estou com o seguinte erro:

11:30:25,870 WARN  [PersistentPermissionResolver] no permission store available - please install a PermissionStore with the name 'org.jboss.seam.security.jpaPermissionStore' if persistent permissions are required.
11:30:44,609 ERROR [Ejb3Deployment] Exception while processing container metadata for EJB: ArquivoNegocio in unit: infosolo-cobranca-negocio.jar
11:30:44,615 ERROR [AbstractKernelController] Error installing to Real: name=vfsfile:/C:/Java/servidores/jboss-5.1.0.GA/server/default/deploy/infosolo-cobranca-ear.ear/ state=PreReal mode=Manual requiredState=Real
org.jboss.deployers.spi.DeploymentException: Error deploying infosolo-cobranca-negocio.jar: Exception while processing container metadata for EJB: ArquivoNegocio in unit: infosolo-cobranca-negocio.jar
	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:662)
Caused by: java.lang.Exception: Exception while processing container metadata for EJB: ArquivoNegocio in unit: infosolo-cobranca-negocio.jar
	at org.jboss.ejb3.Ejb3Deployment.start(Ejb3Deployment.java:549)
	at org.jboss.ejb3.deployers.Ejb3Deployer.deploy(Ejb3Deployer.java:189)
	... 34 more
Caused by: java.lang.IllegalArgumentException: Container jboss.j2ee:ear=infosolo-cobranca-ear.ear,jar=infosolo-cobranca-negocio.jar,name=ArquivoNegocio,service=EJB3 failed to resolve persistence unit infosolo-cobranca-negocio
	at org.jboss.injection.PersistenceUnitHandler.addPUDependency(PersistenceUnitHandler.java:135)
	at org.jboss.injection.PersistenceContextHandler.loadXml(PersistenceContextHandler.java:76)
	at org.jboss.ejb3.EJBContainer.processMetadata(EJBContainer.java:588)
	at org.jboss.ejb3.Ejb3Deployment.processEJBContainerMetadata(Ejb3Deployment.java:418)
	at org.jboss.ejb3.Ejb3Deployment.start(Ejb3Deployment.java:527)
	... 35 more
Caused by: java.lang.IllegalArgumentException: Can't find a persistence unit named 'infosolo-cobranca-negocio' in AbstractVFSDeploymentContext@26231357{vfsfile:/C:/Java/servidores/jboss-5.1.0.GA/server/default/deploy/infosolo-cobranca-ear.ear/infosolo-cobranca-negocio.jar/}
	at org.jboss.jpa.resolvers.BasePersistenceUnitDependencyResolver.resolvePersistenceUnitSupplier(BasePersistenceUnitDependencyResolver.java:107)
	at org.jboss.ejb3.Ejb3Deployment.resolvePersistenceUnitSupplier(Ejb3Deployment.java:770)
	at org.jboss.ejb3.EJBContainer.resolvePersistenceUnitSupplier(EJBContainer.java:1428)
	at org.jboss.injection.PersistenceUnitHandler.addPUDependency(PersistenceUnitHandler.java:130)
	... 39 more
11:30:44,802 ERROR [ProfileServiceBootstrap] Failed to load profile: Summary of incomplete deployments (SEE PREVIOUS ERRORS FOR DETAILS):

DEPLOYMENTS IN ERROR:
  Deployment "vfsfile:/C:/Java/servidores/jboss-5.1.0.GA/server/default/deploy/infosolo-cobranca-ear.ear/" is in error due to the following reason(s): java.lang.IllegalArgumentException: Can't find a persistence unit named 'infosolo-cobranca-negocio' in AbstractVFSDeploymentContext@26231357{vfsfile:/C:/Java/servidores/jboss-5.1.0.GA/server/default/deploy/infosolo-cobranca-ear.ear/infosolo-cobranca-negocio.jar/}

11:30:44,977 INFO  [Http11Protocol] Starting Coyote HTTP/1.1 on http-localhost%2F127.0.0.1-8080
11:30:45,096 INFO  [AjpProtocol] Starting Coyote AJP/1.3 on ajp-localhost%2F127.0.0.1-8009
11:30:45,106 INFO  [ServerImpl] JBoss (Microcontainer) [5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221634)] Started in 2m:5s:363ms

3 Respostas

R

Pelo log parece que não declarou seu persistence unit corretamente (Can’t find a persistence unit named ‘infosolo-cobranca-negocio’).
Veja se adicionou ele corretamente em “META-INF/persistence.xml” dentro do seu .jar e também se o “persistence unit” configurado dentro dele está correto.

att,
Rafael.

Hebert_Coelho

O EJB você precisa ter como um JAR e o JAR dentro do EAR junto com o WAR da app web.

Sacou??

EAR
— JAR do EJb
— WAR do web.

Nesse post aqui tem um exemplo utilizando JSF mas sem seam: Aplicação Web Completa JSF EJB JPA JAAS.

rafaelrodrigues1607

Entendi perfeitamente cara. Valeu.

Criado 25 de janeiro de 2012
Ultima resposta 25 de jan. de 2012
Respostas 3
Participantes 3