faz teeempo que venho tentando fazer funcionar esta API!!!
Eu consigo fazer funcionar da maneira mais fácil! Instanciando diretamente o EntityManagerFactory mas não consigo nem a pau fazer funcionar com annotations peguei varios exemplos mas não vai!!!
Já estou quase desistindo! Alguem tem um exemplo 100% por favor para eu ver rodando e onde estou errando?!
A aplicação aparece normalmente no Browser...quando tento conectar que acontece o seguinte erro
Caused by: java.lang.NullPointerException
at sistema.Conexao.testar(Conexao.java:16)
at org.apache.jsp.teste_jsp._jspService(teste_jsp.java:69)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
... 34 more
22:57:38,937 ERROR [[Faces Servlet]] Servlet.service() for servlet Faces Servlet threw exception
java.lang.NullPointerException
at sistema.Conexao.testar(Conexao.java:16)
at org.apache.jsp.teste_jsp._jspService(teste_jsp.java:69)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:445)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:292)
at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:408)
at com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:442)
at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:115)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
at java.lang.Thread.run(Unknown Source)
[]s
Rafael_Carneiro
Aqui tem um exemplo de uma aplicação com JPA no JBoss.
Thiago_Ananias
Olá rcarneiro! Obrigado pelas respostas!!
Cara, eu baixei o exemplo de EJB que vc passou, e vi que o exempo esta dividido em 4 pastas, 3 projetos e um EAR…
Bom…estou entrando meio que sem saber o que fazer, não consigo nem colocar seu projeto para rodar, pq ele esta dividido em 4 partes, eu li sobre esse EAR mas naum entendi para que ele serve? Pode me explicar a extrutura dos seus arquivos?!
[]s
Rafael_Carneiro
Oi Thiago,
existe um arquivo README.txt no arquivo compactado que você baixou. Por favor leia as instruções contidas nele.
Mencionei sobre o projeto para você tomar como base para o seu projeto (configurações, arquivos necessários, etc). Um arquivo EAR (Enterprise ARchive) é um arquivo próprio para os applications servers, onde contém informações (.jars, .wars, arquivos de configurações, etc) para o deploy de uma aplicação.
Thiago_Ananias
Cara, eu li seu README.txt, me desculpe a ignorancia…mas nunca mexi com EJB, pode paracer claro para vc mas eu não consigo entender!!
Olhe estes passos:
3 - ao modificar o projeto store-ejb, lembre-se de gerar o .JAR do projeto e copiar para o diretório
WEB-INF/lib do projeto store-web
Quer dizer que este projeto “store-ejb” só serve de apoio para “store-web”?!
a partir do 4 passo eu me perco completamente!
[]s
Paulo_Silveira
Thiago
Cade a interface remota do seu EJB Conexao?
Se voce esta dando new direto no Conexao, o container nao vai te injetar o EM!
Thiago_Ananias
Coloquei a interface e mesmo assim não funcionou…será que é porque estou tentando instanciar dentro do JSP?
De qualquer forma eu consegui de outra maneira obter o resultado que eu queria, evitar o LazyException…não com o “Open Session in View”, estou dando um <nome_colecao>.size() na hora da listagem, não é o que eu queria mas vi que no Java o buraco é bem mais embaixo, uma coisa puxa a outra e não estou consigo implementar a melhor solução ainda! É cruel estar pesquisando uma coisa aparentemente simples e se deparar com “N” conceitos novos!
Mas não vou desistir não!
A todos, Obrigado pela ajuda!
[]s
Rafael_Carneiro
Thiago,
não instancie o objeto dentro da JSP, obtenha isso do seu Servlet e envie na requisição.
Thiago_Ananias
ah :? …
mas ae vai dar na mesma… eu vou ter que ter carregado antes de exibir a coleção!
Eu pensei que chamava dentro do JSP e de alguma forma a sessão era aberta exclusivamente para carregar a coleção e depois era fechada!
Bom…de qualquer forma foi um jeito forçado de estudar um pouquinho!
Brigadúúúú!
[]s
Rafael_Carneiro
Você pode colocar o código dentro da JSP, mas fica horrível e é uma má prática.