Estou tentando fazer um projeto Web, usando jpa, jsf, estava tudo indo lindo criei o banco gerei as tabelas apartir das entidades ai chegou a hora dos testes, e num fununcia alguem pode me ajudar o erro que da quando eu rodo o teste é
javax.ejb.EJBException: No EJBContainer provider available: no provider names had been found.
at javax.ejb.embeddable.EJBContainer.reportError(EJBContainer.java:186)
at javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:121)
at javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:78)
at br.com.rep.session.test.UsuarioSessionTest.setUp(UsuarioSessionTest.java:24)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Estou utilizando o eclipse.Se alguem puder me ajudar agradeço.
/** * */privatestaticfinallongserialVersionUID=1L;@Id@GeneratedValue(strategy=GenerationType.IDENTITY)@Basic(optional=false)@Column(name="idUsuario")privateIntegeridUsuario;@Column(nullable=false)@NotNull(message="O campo NOME USUÁRIO não pode ser nulo!!")@NotEmpty(message="O campo NOME USUÁRIO não pode ser vazio!!")privateStringnomeUsuario;@Column(nullable=false)@NotNull(message="O campo SENHA não pode ser nulo!!")@NotEmpty(message="O campo SENHA não pode ser vazio!!")privateStringsenha;@Column(nullable=false)@NotNull(message="O campo TIPO não pode ser nulo!!")@NotEmpty(message="O campo TIPO não pode ser vazio!!")privateStringtipo;publicvoidsetNomeUsuario(Stringparam){this.nomeUsuario=param;}publicStringgetNomeUsuario(){returnnomeUsuario;}publicvoidsetSenha(Stringparam){this.senha=param;}publicStringgetSenha(){returnsenha;}publicvoidsetTipo(Stringparam){this.tipo=param;}publicStringgetTipo(){returntipo;}publicvoidsetIdUsuario(Integerparam){this.idUsuario=param;}publicIntegergetIdUsuario(){returnidUsuario;}/** * @return the serialversionuid */publicstaticlonggetSerialversionuid(){returnserialVersionUID;}
Lincolntec
packagebr.com.rep.session;importjava.util.List;importjavax.ejb.Stateless;importjavax.ejb.TransactionAttribute;importjavax.ejb.TransactionAttributeType;importjavax.ejb.TransactionManagement;importjavax.ejb.TransactionManagementType;importorg.persistence.Usuario;importbr.com.rep.ejb.BasicSessionBean;/** * Session Bean implementation class UserSession */@Stateless@TransactionManagement(TransactionManagementType.CONTAINER)@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)publicclassUsuarioSessionextendsBasicSessionBean{//GET USUARIO IDpublicUsuariogetIdUsuario(intidUsuario){returngetPojo(Usuario.class,idUsuario);}//REMOVE USUARIOpublicvoidremove(UsuarioUsuario){Usuario=getEm().merge(Usuario);getEm().remove(Usuario);}//SALVA USUARIOpublicUsuariosalvaUsuario(Usuariousuario){getEm().persist(usuario);returnusuario;}//VERIFICA SE USUARIO ESTA LOGADO.publicUsuarioverificaUsuarioOk(StringnomeUsuario,Stringsenha){try{returngetPojo(Usuario.class,"select usuario from Usuario usuario where usuario.name =?1 and us.password = ?2",nomeUsuario,senha);}catch(Exceptione){// TODO: handle exceptionreturnnull;}}//LISTA TODOS USUARIOS DO SISTEMA.publicList<Usuario>getTodosUsuarios(){returngetList(Usuario.class,"select * from usuario Usuario order by usuario.nomeUsuario");}//LISTA O USUARIO POR NOMEpublicList<Usuario>getUsuarioPorNome(StringnomeCli){returngetList(Usuario.class,"select from usuario Usuario where usuario.name ?1","%"+nomeCli+"%");}//ALTERA O USUARIOpublicUsuariosetUsuario(Usuariousuario){getEm().merge(usuario);returnusuario;}}
No metodo getUserSession, não sei se o caminho está certo, ou melhor não sei o que é este lookup, se alguem souber me dizer agradeço, derrepente é até por isto q não está funcionando.
Lincolntec
Galera valeu pela indicacao do material parece que gora vai funcar!
Tou indo pra casa vou fusar quando chegar dp posto aqui novamente obrigado.
Lincolntec
Galera so pensei que fosse funcionar porque tentei e até agora nada. Tem alguem que poderia ser mais claro ainda não consegui entender porque está dando este erro!
Lincolntec
Galera não sei se ajuda ta, mais vou descrever o que estou usando. jpa,EclipseLink, glassfish 3.1.1
Lincolntec
Galera não sei se ajuda ta, mais vou descrever o que estou usando. jpa,EclipseLink, glassfish 3.1.1
*** fui tentar fazer deploy e me deu o seguinte erro!
cannot Deploy PortalIo
Deployment Error for module: PortalIo: Error occurred during deployment: Exception while preparing the app : The persistence-context-ref-name [br.com.portalIo.ejb.BassicSessionBean/em] in module [PortalIo] resolves to a persistence unit called [PortalIo] which is of type RESOURCE_LOCAL. Only persistence units with transaction type JTA can be used as a container managed entity manager. Please verify your application… Please see server.log for more details.
poolborges
Abra o ficheiro persistence.xml e altere o seguinte: transaction-type=“RESOURCE_LOCAL”> por transaction-type=“JTA”>