我正在从数据库中获取大约17,500条记录,并且正好在结果集执行步骤处获取低于堆栈溢出错误。需要捕捉并显示堆栈溢出错误消息
Query query = dbConnect
.createQuery("select nitem from NItem nitem where nitem.id in ("+nitemIdStr+")");
nitemList = query.getResultList();
堆栈溢出流量误差
Root cause:
java.lang.StackOverflowError
at org.apache.openjpa.jdbc.kernel.exps.OrExpression.acceptVisit(OrExpression.java:98)
at org.apache.openjpa.jdbc.kernel.exps.OrExpression.acceptVisit(OrExpression.java:99)
at org.apache.openjpa.jdbc.kernel.exps.OrExpression.acceptVisit(OrExpression.java:99)
at org.apache.openjpa.jdbc.kernel.exps.OrExpression.acceptVisit(OrExpression.java:99)
at org.apache.openjpa.jdbc.kernel.exps.OrExpression.acceptVisit(OrExpression.java:99)
at org.apache.openjpa.jdbc.kernel.exps.OrExpression.acceptVisit(OrExpression.java:99)
at org.apache.openjpa.jdbc.kernel.exps.OrExpression.acceptVisit(OrExpression.java:99)
at org.apache.openjpa.jdbc.kernel.exps.OrExpression.acceptVisit(OrExpression.java:99)
at org.apache.openjpa.jdbc.kernel.exps.OrExpression.acceptVisit(OrExpression.java:99)
at org.apache.openjpa.jdbc.kernel.exps.OrExpression.acceptVisit(OrExpression.java:99)
at org.apache.openjpa.jdbc.kernel.exps.OrExpression.acceptVisit(OrExpression.java:99)
at org.apache.openjpa.jdbc.kernel.exps.OrExpression.acceptVisit(OrExpression.java:99)
at org.apache.openjpa.jdbc.kernel.exps.OrExpression.acceptVisit(OrExpression.java:99)
at org.apache.openjpa.jdbc.kernel.exps.OrExpression.acceptVisit(OrExpression.java:99)
at org.apache.openjpa.jdbc.kernel.exps.OrExpression.acceptVisit(OrExpression.java:99)
at org.apache.openjpa.jdbc.kernel.exps.OrExpression.acceptVisit(OrExpression.java:99)
at org.apache.openjpa.jdbc.kernel.exps.OrExpression.acceptVisit(OrExpression.java:99)
at org.apache.openjpa.jdbc.kernel.exps.OrExpression.acceptVisit(OrExpression.java:99)
at org.apache.openjpa.jdbc.kernel.exps.OrExpression.acceptVisit(OrExpression.java:99)
at org.apache.openjpa.jdbc.kernel.exps.OrExpression.acceptVisit(OrExpression.java:99)
at org.apache.openjpa.jdbc.kernel.exps.OrExpression.acceptVisit(OrExpression.java:99)
at org.apache.openjpa.jdbc.kernel.exps.OrExpression.acceptVisit(OrExpression.java:99)
at org.apache.openjpa.jdbc.kernel.exps.OrExpression.acceptVisit(OrExpression.java:99)
at org.apache.openjpa.jdbc.kernel.exps.OrExpression.acceptVisit(OrExpression.java:99)
at org.apache.openjpa.jdbc.kernel.exps.OrExpression.acceptVisit(OrExpression.java:99)
at org.apache.openjpa.jdbc.kernel.exps.OrExpression.acceptVisit(OrExpression.java:99)
at org.apache.openjpa.jdbc.kernel.exps.OrExpression.acceptVisit(OrExpression.java:99)
at org.apache.openjpa.jdbc.kernel.exps.OrExpression.acceptVisit(OrExpression.java:99)
at org.apache.openjpa.jdbc.kernel.exps.OrExpression.acceptVisit(OrExpression.java:99)
at org.apache.openjpa.jdbc.kernel.exps.OrExpression.acceptVisit(OrExpression.java:99)
at org.apache.openjpa.jdbc.kernel.exps.OrExpression.acceptVisit(OrExpression.java:99)
at org.apache.openjpa.jdbc.kernel.exps.OrExpression.acceptVisit(OrExpression.java:99)
Complete stack:
org.apache.wicket.WicketRuntimeException: Method onRequest of interface org.apache.wicket.behavior.IBehaviorListener targeted at [email protected] on component [Form [Component id = ajaxexample]] threw an exception
at org.apache.wicket.RequestListenerInterface.internalInvoke(RequestListenerInterface.java:268)
at org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:241)
at org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.invokeListener(ListenerInterfaceRequestHandler.java:247)
at org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:226)
at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:854)
at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:254)
at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:211)
at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:282)
at org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:259)
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.wicket.RequestListenerInterface.internalInvoke(RequestListenerInterface.java:258)
at org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:241)
at org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.invokeListener(ListenerInterfaceRequestHandler.java:247)
at org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:226)
at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:854)
at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:254)
at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:211)
at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:282)
at org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:259)
我需要捕捉这个错误,并在UI有消息说“文件导出超过堆栈限制,请使用过滤条件”,而不是越来越显示它在浏览器中检查流量错误。这可能吗???下面
我使用了createNativeQuery,它没有给我任何错误。 – user3641156
你可以显示你查询的代码调用吗?它看起来像你有很多基于用户上传的条件。 – Martin
我们能否使用上述方法将错误消息传递给errorpage.class? 我用你的代码,它把我带到errorpage.class,但我想扔那边的消息。有没有办法做到这一点? – user3641156