StackOverFlowError na primira query do ejb após o deploy

0 respostas
L

Bom dia a todos,

Estou com um problema a algum tempo quando rodo minha aplicação JSF + EJB 3.0 + Oracle.

Toda vez que acabo de fazer o deploy da aplicação e acesso pela primeira vez uma query e gerado um StackOverFlow. Porem com o erro de stackoverflow na tela se o usuario der um refresh (f5) a aplicação roda normalmente a partir dai.
Vou colocar o trace do erro qd acontece o Stackoverflow e as entidades que fazem parte da query.

EJB5018: An exception was thrown during an ejb invocation on [CampoFacade]
javax.ejb.EJBException
        at com.sun.ejb.containers.BaseContainer.processSystemException(BaseContainer.java:3869)
        at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:3769)
        at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:3571)
        at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1354)
        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:117)
        at $Proxy114.getCampoAll(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:585)
        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.SharedCDRClientRequestDispatcherImpl.marshalingComplete(SharedCDRClientRequestDispatcherImpl.java:183)
        at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.invoke(CorbaClientDelegateImpl.java:219)
        at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:192)
        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.uff.addlabs.ejb.poco.__CampoFacadeRemote_Remote_DynamicStub.getCampoAll(br/uff/addlabs/ejb/poco/__CampoFacadeRemote_Remote_DynamicStub.java)
        at br.uff.addlabs.ejb.poco._CampoFacadeRemote_Wrapper.getCampoAll(br/uff/addlabs/ejb/poco/_CampoFacadeRemote_Wrapper.java)
        at br.uff.addlabs.util.BuscaPoco.<init>(BuscaPoco.java:68)
        at br.uff.addlabs.control.poco.PocoBean.<init>(PocoBean.java:174)
        at br.uff.addlabs.util.UsuarioBean.novaNavegacao(UsuarioBean.java:49)
        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:585)
        at com.sun.el.parser.AstValue.invoke(AstValue.java:187)
        at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:297)
        at com.sun.faces.application.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77)
        at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
        at javax.faces.component.UICommand.broadcast(UICommand.java:383)
        at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:447)
        at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:752)
        at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
        at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
        at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
        at com.icesoft.faces.webapp.http.core.JsfLifecycleExecutor.apply(JsfLifecycleExecutor.java:17)
        at com.icesoft.faces.webapp.http.core.ReceiveSendUpdates.renderCycle(ReceiveSendUpdates.java:54)
        at com.icesoft.faces.webapp.http.core.ReceiveSendUpdates.service(ReceiveSendUpdates.java:42)
        at com.icesoft.faces.webapp.http.core.ViewBoundServer.service(ViewBoundServer.java:65)
        at com.icesoft.faces.webapp.http.core.RequestVerifier.service(RequestVerifier.java:44)
        at com.icesoft.faces.webapp.http.common.standard.PathDispatcherServer$Matcher.serviceOnMatch(PathDispatcherServer.java:50)
        at com.icesoft.faces.webapp.http.common.standard.PathDispatcherServer.service(PathDispatcherServer.java:19)
        at com.icesoft.faces.webapp.http.servlet.GlassFishAdaptingServlet.service(GlassFishAdaptingServlet.java:60)
        at com.icesoft.faces.webapp.http.servlet.EnvironmentAdaptingServlet.service(EnvironmentAdaptingServlet.java:63)
        at com.icesoft.faces.webapp.http.servlet.MainSessionBoundServlet.service(MainSessionBoundServlet.java:139)
        at com.icesoft.faces.webapp.http.servlet.SessionDispatcher.service(SessionDispatcher.java:53)
        at com.icesoft.faces.webapp.http.servlet.PathDispatcher$Matcher.serviceOnMatch(PathDispatcher.java:52)
        at com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:29)
        at com.icesoft.faces.webapp.http.servlet.MainServlet.service(MainServlet.java:82)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
        at com.icesoft.faces.webapp.xmlhttp.BlockingServlet.service(BlockingServlet.java:46)
        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:270)
        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:339)
        at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:261)
        at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:212)
        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)
Caused by: java.lang.StackOverflowError
        at oracle.toplink.essentials.internal.helper.DatabaseField.hashCode(DatabaseField.java:275)
        at java.util.HashMap.get(HashMap.java:343)
        at oracle.toplink.essentials.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:425)
        at oracle.toplink.essentials.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:433)
        at oracle.toplink.essentials.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:433)
        at oracle.toplink.essentials.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:433)
        at oracle.toplink.essentials.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:433)
        at oracle.toplink.essentials.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:433)
        at oracle.toplink.essentials.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:433)
        at oracle.toplink.essentials.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:433)
        at oracle.toplink.essentials.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:433)
        at oracle.toplink.essentials.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:433)
        at oracle.toplink.essentials.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:433)
        at oracle.toplink.essentials.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:433)
        at oracle.toplink.essentials.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:433)
        at oracle.toplink.essentials.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:433)
        at oracle.toplink.essentials.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:433)
        at oracle.toplink.essentials.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:433)
        at oracle.toplink.essentials.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:433)

entidade campo

@Entity
@Table(name = "CAMPO")
public class Campo implements Serializable {
    private static final long serialVersionUID = 1L;
    
    
    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SQ_CAMP")
    @SequenceGenerator(name = "SQ_CAMP", sequenceName = "SQ_CAMP", allocationSize=1)
    @Column(name = "CAMP_SQ_IDENTIFICADOR", nullable = false)
    private Integer campSqIdentificador;
    
    
    @Column(name = "CAMP_DS_DESCRICAO")
    private String campDsDescricao;
    
    
    @Column(name = "CAMP_NM_CAMPO", nullable = false)
    private String campNmCampo;
    
    @JoinColumn(name = "UNNE_SQ_IDENTIFICADOR",referencedColumnName = "UNNE_SQ_IDENTIFICADOR")
    @ManyToOne
    private UnidadeNegocio unneSqIdentificador;
    
    
    @OneToMany(mappedBy = "campSqIdentificador")
    private Collection<Poco> pocoCollection;

entidade unicade de negocio

@Entity
@Table(name = "UNIDADE_NEGOCIO")
public class UnidadeNegocio implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Column(name = "UNNE_SQ_IDENTIFICADOR", nullable = false)
    private Integer unneSqIdentificador;
    @Column(name = "UNNE_NM_UNI_NEGOCIO", nullable = false)
    private String unneNmUniNegocio;
    @Column(name = "UNNE_NM_SIGLA")
    private String unneNmSigla;
    @OneToMany(mappedBy = "unneSqIdentificador")
    private Collection<Poco> pocoCollection;
    @OneToMany(mappedBy = "unneSqIdentificador")
    private Collection<Campo> campoCollection;

metodo do facade de campo que pega todos os campos.

public List getCampoAll() {
        
        List aux = null;
        aux = em.createQuery("select o.campSqIdentificador, o.campNmCampo, o.unneSqIdentificador.unneSqIdentificador  from Campo as o ORDER BY o.campNmCampo").getResultList();
        
       
        
        return aux;

    }

Já pesquisei pela net o StackOverFlow mas nao vi ninguem relatando esse problema de acontecer apenas uma vez e após o deploy.

desde ja agradeço a colaboração de todos

Criado 12 de agosto de 2008
Respostas 0
Participantes 1