2010-10-15 13 views
6

Tengo una aplicación web GlassFish que arroja errores (enumerados a continuación) al navegador web. Pero mi problema es que no puedo ver el completo de la pila. Creo que tengo que saber cuál es el verdadero problema. ¿Cómo puedo cambiar la longitud del seguimiento de la pila?¿Cómo puedo imprimir el seguimiento completo de la pila con GlassFish?

javax.ejb.EJBException 
at com.sun.ejb.containers.BaseContainer.processSystemException(BaseContainer.java:5119) 
at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:5017) 
at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:4805) 
at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2004) 
at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1955) 
at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:198) 
at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:84) 
at $Proxy158.findRange(Unknown Source) 
at ejb.__EJB31_Generated__NewEntityFacade__Intf____Bean__.findRange(Unknown Source) 
at jsf.NewEntityController$1.createPageDataModel(NewEntityController.java:56) 
at jsf.NewEntityController.getItems(NewEntityController.java:155) 
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 javax.el.BeanELResolver.getValue(BeanELResolver.java:302) 
at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:175) 
at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:72) 
at com.sun.el.parser.AstValue.getValue(AstValue.java:116) 
at com.sun.el.parser.AstValue.getValue(AstValue.java:163) 
at com.sun.el.parser.AstEqual.getValue(AstEqual.java:54) 
at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:219) 
at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:102) 
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:190) 
at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:416) 
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1607) 
at javax.faces.render.Renderer.encodeChildren(Renderer.java:168) 
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:848) 
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1613) 
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1616) 
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1616) 
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:380) 
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:126) 
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:127) 
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) 
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) 
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:313) 
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188) 
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641) 
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97) 
at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185) 
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226) 
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165) 
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791) 
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693) 
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954) 
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170) 
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135) 
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102) 
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88) 
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76) 
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53) 
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57) 
at com.sun.grizzly.ContextTask.run(ContextTask.java:69) 
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330) 
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309) 
at java.lang.Thread.run(Thread.java:619) 
Caused by: java.lang.IllegalArgumentException: The type [null] is not the expected [EntityType] for the key class [class Persistence.NewEntity]. 
at org.eclipse.persistence.internal.jpa.metamodel.MetamodelImpl.entity(MetamodelImpl.java:152) 
at org.eclipse.persistence.internal.jpa.querydef.AbstractQueryImpl.from(AbstractQueryImpl.java:97) 
at ejb.AbstractFacade.findRange(AbstractFacade.java:48) 
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.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1056) 
at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1128) 
at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:5292) 
at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:615) 
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:797) 
at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:567) 
at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doAround(SystemInterceptorProxy.java:157) 
at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:139) 
at sun.reflect.GeneratedMethodAccessor94.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:597) 
at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:858) 
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:797) 
at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:367) 
at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:5264) 
at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:5252) 
at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:190) 
... 55 more 
+1

¡Esta es una buena pregunta! Y debe haber una mejor manera que rodear el código culpable con un try/catch (no vas a hacer eso en producción) ... Tendrás que cavar esto. –

Respuesta

0

Ya he contestado here, entre otros lugares. Envuelva las llamadas a funciones sospechosas en un bloque try-catch e imprima el seguimiento de la pila solo si se encuentra en modo de depuración (por razones de seguridad). Deberías poder obtener lo que necesitas a partir de ahí.

+0

no entiendo cómo eso podría ayudarme. Hablan de System.print y tengo una aplicación JSF. – Markus

+0

Puede ayudarte porque 'EJBException' tiene un método printStackTrace como cualquier otro' Throwable'. Consulte aquí: http://download.oracle.com/javaee/1.3/api/javax/ejb/EJBException.html#printStackTrace() – darvids0n

+0

Si no sabe cómo imprimir texto en el navegador web, http: // www.ensode.net/java_servlet_stacktrace_browser.html – darvids0n

Cuestiones relacionadas