Glassfish + JPA + Maven +EJB

0 respostas
M

Oi,
Estou tentando desenvolver uma aplicação em JEE utilizando EJB, JPA, Glassfish, no entanto tenho um problema do qual não consigo resolver.
É o seguinte estou fazendo um appclient que faz uma requisição a um stateless session bean, bem eu estou conseguindo uma resposta na primeira requisição, mas se eu tento fazer uma segunda requisição estou obtendo uma excessão indicando que meu EntityManager está fechado.
Se tento fazer uma terceira requisição da certo, uma quarta consigo a excessão de novo e assim por diante, ou seja, ele responde corretamente requisições impares, mas lança a exessão nas pares.
Essa é a excessão:

14/05/2009 07:56:55 com.sun.enterprise.appclient.MainWithModuleSupport 

WARNING: ACC003: Application threw an exception.

javax.ejb.EJBException: nested exception is: java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:

java.rmi.RemoteException: null; nested exception is:

java.lang.IllegalStateException: Attempting to execute an operation on a closed EntityManager.

java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:

java.rmi.RemoteException: null; nested exception is:

java.lang.IllegalStateException: Attempting to execute an operation on a closed EntityManager.

at com.sun.corba.ee.impl.javax.rmi.CORBA.Util.mapSystemException(Util.java:243)

at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:205)

at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:152)

at com.sun.corba.ee.impl.presentation.rmi.bcel.BCELStubBase.invoke(BCELStubBase.java:225)

at br.ufg.inf.lbs.sdl.__LocationServiceRemote_Remote_DynamicStub.getLocation(br/ufg/inf/lbs/sdl/__LocationServiceRemote_Remote_DynamicStub.java)

at br.ufg.inf.lbs.sdl._LocationServiceRemote_Wrapper.getLocation(br/ufg/inf/lbs/sdl/_LocationServiceRemote_Wrapper.java)

at br.ufg.inf.lbs.sdl.App.main(App.java:28)

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 com.sun.enterprise.util.Utility.invokeApplicationMain(Utility.java:266)

at com.sun.enterprise.appclient.MainWithModuleSupport.(MainWithModuleSupport.java:449)

at com.sun.enterprise.appclient.MainWithModuleSupport.(MainWithModuleSupport.java:259)

at com.sun.enterprise.appclient.Main.main(Main.java:200)

Caused by: java.rmi.RemoteException: null; nested exception is:

java.lang.IllegalStateException: Attempting to execute an operation on a closed EntityManager.

at com.sun.enterprise.iiop.POAProtocolMgr.mapException(POAProtocolMgr.java:251)

at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1411)

at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1316)

at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:210)

at com.sun.ejb.containers.EJBObjectInvocationHandlerDelegate.invoke(EJBObjectInvocationHandlerDelegate.java:77)

at $Proxy41.getLocation(Unknown Source)

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 com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:154)

at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:687)

at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:227)

at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1846)

at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1706)

at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:1088)

at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:223)

at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:806)

at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.dispatch(CorbaMessageMediatorImpl.java:563)

at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.doWork(CorbaMessageMediatorImpl.java:2567)

at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:555)

Caused by: java.lang.IllegalStateException: Attempting to execute an operation on a closed EntityManager.

at org.eclipse.persistence.internal.jpa.EntityManagerImpl.verifyOpen(EntityManagerImpl.java:1210)

at org.eclipse.persistence.internal.jpa.EJBQueryImpl.setMaxResults(EJBQueryImpl.java:833)

at br.ufg.inf.lbs.sdl.LocationServiceBean.getLocation(LocationServiceBean.java:61)

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 com.sun.enterprise.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1011)

at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:175)

at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:2920)

at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4011)

at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:203)

 17 more

javax.ejb.EJBException: nested exception is: java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:

java.rmi.RemoteException: null; nested exception is:

java.lang.IllegalStateException: Attempting to execute an operation on a closed EntityManager.

at br.ufg.inf.lbs.sdl._LocationServiceRemote_Wrapper.getLocation(br/ufg/inf/lbs/sdl/_LocationServiceRemote_Wrapper.java)

at br.ufg.inf.lbs.sdl.App.main(App.java:28)

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 com.sun.enterprise.util.Utility.invokeApplicationMain(Utility.java:266)

at com.sun.enterprise.appclient.MainWithModuleSupport.(MainWithModuleSupport.java:449)

at com.sun.enterprise.appclient.MainWithModuleSupport.(MainWithModuleSupport.java:259)

at com.sun.enterprise.appclient.Main.main(Main.java:200)

Exception in thread main java.lang.RuntimeException: java.lang.reflect.InvocationTargetException

at com.sun.enterprise.appclient.MainWithModuleSupport.(MainWithModuleSupport.java:461)

at com.sun.enterprise.appclient.MainWithModuleSupport.(MainWithModuleSupport.java:259)

at com.sun.enterprise.appclient.Main.main(Main.java:200)

Caused by: java.lang.reflect.InvocationTargetException

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 com.sun.enterprise.util.Utility.invokeApplicationMain(Utility.java:266)

at com.sun.enterprise.appclient.MainWithModuleSupport.(MainWithModuleSupport.java:449)

 2 more

Caused by: javax.ejb.EJBException: nested exception is: java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:

java.rmi.RemoteException: null; nested exception is:

java.lang.IllegalStateException: Attempting to execute an operation on a closed EntityManager.

at br.ufg.inf.lbs.sdl._LocationServiceRemote_Wrapper.getLocation(br/ufg/inf/lbs/sdl/_LocationServiceRemote_Wrapper.java)

at br.ufg.inf.lbs.sdl.App.main(App.java:28)

 8 more

Não estou certo onde o problema está sendo gerado, afinal estou usando muitas tecnogias, já tentei muita coisa no entanto não consigo resolver esse problema enfim gostaria de pedir ajuda. Se alguém aki tem alguma idéia de como resolver por favor me ajude.
Eu ficaria extremamente agradecido

Obrigado

Criado 14 de maio de 2009
Respostas 0
Participantes 1