Dúvida com EJB
Bom dia estou estudando para trabalhar com projeto Maven e EJB, mas está com problema ao usar (Stateless) está ocorrendo erros, segue abaixo duas o codigo e o erro:
//EJB
public class MarcaEJB {
@PersistenceContext
private EntityManager manager;
public void adiciona(Marca marca) {
this.manager.persist(marca);
}
}
BEANS
@Named
@RequestScoped
public class MarcaBean implements Serializable {
private static final long serialVersionUID = -8802432823573476989L;
@EJB
private MarcaEJB marcaEJB;
private Marca marca;
private List<Marca> listaMarcas;
@PostConstruct
private void init(){
marca = new Marca();
}
public String cadastraMarca() {
this.marcaEJB.adiciona(this.marca);
FacesMessage fm = new FacesMessage("Sucesso ao cadastrar a marca "
+ marca.getNome());
fm.setSeverity(FacesMessage.SEVERITY_INFO);
FacesContext.getCurrentInstance().addMessage("form", fm);
marca = new Marca();
return null;
}
Erro
12:40:10,521 INFO [org.jboss.as.server.deployment] (MSC service thread 1-6) JBAS015877: Stopped deployment sistemaap.war (runtime-name: sistemaap.war) in 459ms
12:40:10,847 INFO [org.jboss.as.server] (DeploymentScanner-threads - 1) JBAS018558: Undeployed "sistemaap.war" (runtime-name: "sistemaap.war")
12:40:15,861 INFO [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 2) JBAS015003: Found sistemaap.war in deployment directory. To trigger deployment create a file called sistemaap.war.dodeploy
12:40:20,901 INFO [org.jboss.as.server.deployment] (MSC service thread 1-3) JBAS015876: Starting deployment of "sistemaap.war" (runtime-name: "sistemaap.war")
12:40:22,002 INFO [org.jboss.weld.deployer] (MSC service thread 1-8) JBAS016002: Processing weld deployment sistemaap.war
12:40:22,012 INFO [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor] (MSC service thread 1-8) JNDI bindings for session bean named MarcaEJB in deployment unit deployment "sistemaap.war" are as follows:
java:global/sistemaap/MarcaEJB!br.com.sistema.ap.ejb.MarcaEJB
java:app/sistemaap/MarcaEJB!br.com.sistema.ap.ejb.MarcaEJB
java:module/MarcaEJB!br.com.sistema.ap.ejb.MarcaEJB
java:global/sistemaap/MarcaEJB
java:app/sistemaap/MarcaEJB
java:module/MarcaEJB
12:40:22,198 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-3) MSC000001: Failed to start service jboss.deployment.unit."sistemaap.war".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.unit."sistemaap.war".INSTALL: JBAS018733: Failed to process phase INSTALL of deployment "sistemaap.war"
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:166) [wildfly-server-8.2.0.Final.jar:8.2.0.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [rt.jar:1.7.0_40]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [rt.jar:1.7.0_40]
at java.lang.Thread.run(Unknown Source) [rt.jar:1.7.0_40]
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS011047: Component class br.com.sistema.ap.ejb.MarcaEJB for component MarcaEJB has errors:
JBAS011440: Can't find a persistence unit named null in deployment "sistemaap.war"
at org.jboss.as.ee.component.deployers.ModuleJndiBindingProcessor$1.handle(ModuleJndiBindingProcessor.java:159)
at org.jboss.as.ee.component.ClassDescriptionTraversal.run(ClassDescriptionTraversal.java:54)
at org.jboss.as.ee.component.deployers.ModuleJndiBindingProcessor.processClassConfigurations(ModuleJndiBindingProcessor.java:152)
at org.jboss.as.ee.component.deployers.ModuleJndiBindingProcessor.deploy(ModuleJndiBindingProcessor.java:145)
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:159) [wildfly-server-8.2.0.Final.jar:8.2.0.Final]
... 5 more
12:40:22,218 ERROR [org.jboss.as.controller.management-operation] (DeploymentScanner-threads - 2) JBAS014613: Operation ("deploy") failed - address: ([("deployment" => "sistemaap.war")]) - failure description: {
"JBAS014671: Failed services" => {"jboss.deployment.unit.\"sistemaap.war\".INSTALL" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"sistemaap.war\".INSTALL: JBAS018733: Failed to process phase INSTALL of deployment \"sistemaap.war\"
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS011047: Component class br.com.sistema.ap.ejb.MarcaEJB for component MarcaEJB has errors:
JBAS011440: Can't find a persistence unit named null in deployment \"sistemaap.war\""},
"JBAS014771: Services with missing/unavailable dependencies" => ["jboss.deployment.unit.\"sistemaap.war\".weld.weldClassIntrospector is missing [jboss.deployment.unit.\"sistemaap.war\".beanmanager]"]
}
12:40:22,410 INFO [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS018559: Deployed "sistemaap.war" (runtime-name : "sistemaap.war")
12:40:22,413 INFO [org.jboss.as.controller] (DeploymentScanner-threads - 2) JBAS014774: Service status report
JBAS014775: New missing/unsatisfied dependencies:
service jboss.deployment.unit."sistemaap.war".beanmanager (missing) dependents: [service jboss.deployment.unit."sistemaap.war".weld.weldClassIntrospector]
JBAS014777: Services which failed to start: service jboss.deployment.unit."sistemaap.war".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.unit."sistemaap.war".INSTALL: JBAS018733: Failed to process phase INSTALL of deployment "sistemaap.war"
//EJB
public class MarcaEJB {
@PersistenceContext
private EntityManager manager;
public void adiciona(Marca marca) {
this.manager.persist(marca);
}
}
BEANS
@Named
@RequestScoped
public class MarcaBean implements Serializable {
private static final long serialVersionUID = -8802432823573476989L;
@EJB
private MarcaEJB marcaEJB;
private Marca marca;
private List<Marca> listaMarcas;
@PostConstruct
private void init(){
marca = new Marca();
}
public String cadastraMarca() {
this.marcaEJB.adiciona(this.marca);
FacesMessage fm = new FacesMessage("Sucesso ao cadastrar a marca "
+ marca.getNome());
fm.setSeverity(FacesMessage.SEVERITY_INFO);
FacesContext.getCurrentInstance().addMessage("form", fm);
marca = new Marca();
return null;
}
Erro
12:40:10,521 INFO [org.jboss.as.server.deployment] (MSC service thread 1-6) JBAS015877: Stopped deployment sistemaap.war (runtime-name: sistemaap.war) in 459ms
12:40:10,847 INFO [org.jboss.as.server] (DeploymentScanner-threads - 1) JBAS018558: Undeployed "sistemaap.war" (runtime-name: "sistemaap.war")
12:40:15,861 INFO [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 2) JBAS015003: Found sistemaap.war in deployment directory. To trigger deployment create a file called sistemaap.war.dodeploy
12:40:20,901 INFO [org.jboss.as.server.deployment] (MSC service thread 1-3) JBAS015876: Starting deployment of "sistemaap.war" (runtime-name: "sistemaap.war")
12:40:22,002 INFO [org.jboss.weld.deployer] (MSC service thread 1-8) JBAS016002: Processing weld deployment sistemaap.war
12:40:22,012 INFO [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor] (MSC service thread 1-8) JNDI bindings for session bean named MarcaEJB in deployment unit deployment "sistemaap.war" are as follows:
java:global/sistemaap/MarcaEJB!br.com.sistema.ap.ejb.MarcaEJB
java:app/sistemaap/MarcaEJB!br.com.sistema.ap.ejb.MarcaEJB
java:module/MarcaEJB!br.com.sistema.ap.ejb.MarcaEJB
java:global/sistemaap/MarcaEJB
java:app/sistemaap/MarcaEJB
java:module/MarcaEJB
12:40:22,198 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-3) MSC000001: Failed to start service jboss.deployment.unit."sistemaap.war".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.unit."sistemaap.war".INSTALL: JBAS018733: Failed to process phase INSTALL of deployment "sistemaap.war"
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:166) [wildfly-server-8.2.0.Final.jar:8.2.0.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [rt.jar:1.7.0_40]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [rt.jar:1.7.0_40]
at java.lang.Thread.run(Unknown Source) [rt.jar:1.7.0_40]
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS011047: Component class br.com.sistema.ap.ejb.MarcaEJB for component MarcaEJB has errors:
JBAS011440: Can't find a persistence unit named null in deployment "sistemaap.war"
at org.jboss.as.ee.component.deployers.ModuleJndiBindingProcessor$1.handle(ModuleJndiBindingProcessor.java:159)
at org.jboss.as.ee.component.ClassDescriptionTraversal.run(ClassDescriptionTraversal.java:54)
at org.jboss.as.ee.component.deployers.ModuleJndiBindingProcessor.processClassConfigurations(ModuleJndiBindingProcessor.java:152)
at org.jboss.as.ee.component.deployers.ModuleJndiBindingProcessor.deploy(ModuleJndiBindingProcessor.java:145)
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:159) [wildfly-server-8.2.0.Final.jar:8.2.0.Final]
... 5 more
12:40:22,218 ERROR [org.jboss.as.controller.management-operation] (DeploymentScanner-threads - 2) JBAS014613: Operation ("deploy") failed - address: ([("deployment" => "sistemaap.war")]) - failure description: {
"JBAS014671: Failed services" => {"jboss.deployment.unit.\"sistemaap.war\".INSTALL" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"sistemaap.war\".INSTALL: JBAS018733: Failed to process phase INSTALL of deployment \"sistemaap.war\"
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS011047: Component class br.com.sistema.ap.ejb.MarcaEJB for component MarcaEJB has errors:
JBAS011440: Can't find a persistence unit named null in deployment \"sistemaap.war\""},
"JBAS014771: Services with missing/unavailable dependencies" => ["jboss.deployment.unit.\"sistemaap.war\".weld.weldClassIntrospector is missing [jboss.deployment.unit.\"sistemaap.war\".beanmanager]"]
}
12:40:22,410 INFO [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS018559: Deployed "sistemaap.war" (runtime-name : "sistemaap.war")
12:40:22,413 INFO [org.jboss.as.controller] (DeploymentScanner-threads - 2) JBAS014774: Service status report
JBAS014775: New missing/unsatisfied dependencies:
service jboss.deployment.unit."sistemaap.war".beanmanager (missing) dependents: [service jboss.deployment.unit."sistemaap.war".weld.weldClassIntrospector]
JBAS014777: Services which failed to start: service jboss.deployment.unit."sistemaap.war".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.unit."sistemaap.war".INSTALL: JBAS018733: Failed to process phase INSTALL of deployment "sistemaap.war"
Adriano Aguiar
Curtidas 0
Respostas
Adriano Aguiar
28/12/2014
resolvido
GOSTEI 0
Soeuseijothaz
28/12/2014
resolvido
Seria possível compartilhar qual a solução?
Assim ajudaria a outras pessoas com o mesmo problema.
GOSTEI 0
Adriano Aguiar
28/12/2014
Sim, no meu projeto faltou o arquivo persistence.xml assim que criei funcionou.
grato,
Adriano de Aguiar
grato,
Adriano de Aguiar
GOSTEI 0