Allora... ho usato il debugger, come mi hai detto tu. Ho messo il breackpoint alla riga 20:
codice:
Query q = em.createQuery("SELECT u.username " +
ma quando sono andato all'istruzione successiva premendo F8, è saltato direttamente alla riga 39, cioè all'interno del catch:
codice:
throw new EJBException(e.getMessage());
Questo vuol dire che già alla prima query c'è un errore!!??
Qui c'è il contenuto di Debugger Console:
codice:
Attaching to localhost:9009
LineBreakpoint StreetSoccerBean.java : 20 successfully submitted.
User program running
Breakpoint hit at line 20 in class my.streetsoccer.StreetSoccerBean by thread httpSSLWorkerThread-9090-1.
Thread httpSSLWorkerThread-9090-1 stopped at StreetSoccerBean.java:20.
User program running
Thread httpSSLWorkerThread-9090-1 stopped at StreetSoccerBean.java:39.
User program running
Thread httpSSLWorkerThread-9090-1 stopped.
Mentre questo credo che sia il Server Log di Glassfish:
codice:
javax.ejb.EJBException: nested exception is: java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
java.rmi.RemoteException: An exception occured while creating a query in EntityManager
at my.streetsoccer._StreetSoccerRemote_Wrapper.registraUtente(my/streetsoccer/_StreetSoccerRemote_Wrapper.java)
at my.streetsoccer.StreetSoccerServlet.processRequest(StreetSoccerServlet.java:41)
at my.streetsoccer.StreetSoccerServlet.doPost(StreetSoccerServlet.java:26)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:738)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:317)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:288)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
Vuol dire che l'errore sta nella sintassi della query? Io non vedo quale possa essere!
P.S.(1) Dove posso trovare i file sorgente di J2EE? Nella standard edition di java sono in un file chiamato src.zip, ma non trovo quelli di java ee...
P.S.(2) Esiste un libro sugli EJB 3.0 in italiano?