2010-10-15 4 views
6

Ich habe eine GlassFish Web-Anwendung, die Fehler (unten aufgeführt) an den Webbrowser wirft. Aber mein Problem ist, dass ich die volle Stapelspur nicht sehen kann. Ich denke, ich muss wissen, was das eigentliche Problem ist. Wie kann ich die Länge der Stack-Trace ändern?Wie kann ich die vollständige Stapelverfolgung mit GlassFish drucken?

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

Das ist eine gute Frage! Und es muss einen besseren Weg geben, als den Täter-Code mit einem Versuch/Fang zu umgeben (das wirst du in der Produktion nicht tun) ... muss das graben. –

Antwort

0

Bereits beantwortet here unter anderen Orten. Wickeln Sie verdächtige Funktionsaufrufe in einen try-catch-Block und drucken Sie den Stack-Trace nur aus, wenn Sie sich im Debug-Modus befinden (aus Sicherheitsgründen). Sie sollten in der Lage sein, von dort zu bekommen, was Sie brauchen.

+0

ich verstehe nicht, wie das mir helfen könnte. Sie sprechen über System.print und ich habe eine JSF-Anwendung. – Markus

+0

Es kann Ihnen helfen, weil 'EJBException' eine printStackTrace-Methode hat, genau wie jedes andere' Throwable'. Siehe hier: http://download.oracle.com/javaee/1.3/api/javax/ejb/EJBException.html#printStackTrace() – darvids0n

+0

Wenn Sie nicht wissen, wie Sie Text in den Webbrowser drucken, http: // www.ensode.net/java_servlet_stacktrace_browser.html – darvids0n

Verwandte Themen