2015-10-28 2 views
0

В веб-приложении JSF, разработанной с использованием перьев и символов, на этапе RESTORE_VIEW возникает ошибка.java.lang.IllegalStateException: невозможно сбросить буфер после того, как был получен ответ.

ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host]. (ajp-executor-threads - 1694) FullAjaxExceptionHandler: An exception occurred during processing JSF ajax request. Error page '/pages/standardErrorPage.xhtml' will be shown.: javax.faces.application.ViewExpiredException: viewId:/pages/myPage.jsf - View /pages/myPage.jsf could not be restored. 
    at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:205) [jsf-impl-2.1.23-jbossorg-1.jar:] 
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) [jsf-impl-2.1.23-jbossorg-1.jar:] 
    at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:116) [jsf-impl-2.1.23-jbossorg-1.jar:] 
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) [jsf-impl-2.1.23-jbossorg-1.jar:] 
    at org.apache.myfaces.extensions.cdi.jsf2.impl.listener.phase.CodiLifecycleWrapper.execute(CodiLifecycleWrapper.java:95) [myfaces-extcdi-jsf20-module-impl-1.0.5.jar:1.0.5] 
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593) [jboss-jsf-api_2.1_spec-2.1.23.Final.jar:2.1.23.Final] 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) [jbossweb-7.2.0.Final.jar:7.2.0.Final] 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.0.Final.jar:7.2.0.Final] 
    at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79) [primefaces-3.5.7.jar:] 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.2.0.Final.jar:7.2.0.Final] 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.0.Final.jar:7.2.0.Final] 
    at org.omnifaces.filter.FacesExceptionFilter.doFilter(FacesExceptionFilter.java:56) [omnifaces-1.5.jar:1.5] 
    at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:75) [omnifaces-1.5.jar:1.5] 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.2.0.Final.jar:7.2.0.Final] 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.0.Final.jar:7.2.0.Final] 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.2.0.Final.jar:7.2.0.Final] 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.0.Final.jar:7.2.0.Final] 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.2.0.Final.jar:7.2.0.Final] 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.0.Final.jar:7.2.0.Final] 
    at org.omnifaces.filter.GzipResponseFilter.doFilter(GzipResponseFilter.java:148) [omnifaces-1.5.jar:1.5] 
    at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:75) [omnifaces-1.5.jar:1.5] 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.2.0.Final.jar:7.2.0.Final] 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.0.Final.jar:7.2.0.Final] 
    at org.omnifaces.facesviews.FacesViewsForwardingFilter.doFilter(FacesViewsForwardingFilter.java:180) [omnifaces-1.5.jar:1.5] 
    at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:75) [omnifaces-1.5.jar:1.5] 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.2.0.Final.jar:7.2.0.Final] 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.0.Final.jar:7.2.0.Final] 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) [jbossweb-7.2.0.Final.jar:7.2.0.Final] 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149) [jbossweb-7.2.0.Final.jar:7.2.0.Final] 
    at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) [jboss-as-web-7.2.0.Final.jar:7.2.0.Final] 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145) [jbossweb-7.2.0.Final.jar:7.2.0.Final] 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb-7.2.0.Final.jar:7.2.0.Final] 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb-7.2.0.Final.jar:7.2.0.Final] 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336) [jbossweb-7.2.0.Final.jar:7.2.0.Final] 
    at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:488) [jbossweb-7.2.0.Final.jar:7.2.0.Final] 
    at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:420) [jbossweb-7.2.0.Final.jar:7.2.0.Final] 
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:508) [jbossweb-7.2.0.Final.jar:7.2.0.Final] 
    at org.jboss.threads.SimpleDirectExecutor.execute(SimpleDirectExecutor.java:33) 
    at org.jboss.threads.QueueExecutor.runTask(QueueExecutor.java:806) 
    at org.jboss.threads.QueueExecutor.access$100(QueueExecutor.java:45) 
    at org.jboss.threads.QueueExecutor$Worker.run(QueueExecutor.java:847) 
    at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_38] 
    at org.jboss.threads.JBossThread.run(JBossThread.java:122) 

ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host]] (ajp-executor-threads - 1694) JBWEB000313: Exception processing error page /pages/standardErrorPage.xhtml: java.lang.IllegalStateException: JBWEB000029: Cannot reset buffer after response has been committed 
    at org.apache.catalina.connector.Response.resetBuffer(Response.java:682) [jbossweb-7.2.0.Final.jar:7.2.0.Final] 
    at org.apache.catalina.connector.Response.resetBuffer(Response.java:702) [jbossweb-7.2.0.Final.jar:7.2.0.Final] 
    at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:515) [jbossweb-7.2.0.Final.jar:7.2.0.Final] 
    at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:370) [jbossweb-7.2.0.Final.jar:7.2.0.Final] 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:159) [jbossweb-7.2.0.Final.jar:7.2.0.Final] 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb-7.2.0.Final.jar:7.2.0.Final] 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb-7.2.0.Final.jar:7.2.0.Final] 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336) [jbossweb-7.2.0.Final.jar:7.2.0.Final] 
    at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:488) [jbossweb-7.2.0.Final.jar:7.2.0.Final] 
    at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:420) [jbossweb-7.2.0.Final.jar:7.2.0.Final] 
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:508) [jbossweb-7.2.0.Final.jar:7.2.0.Final] 
    at org.jboss.threads.SimpleDirectExecutor.execute(SimpleDirectExecutor.java:33) 
    at org.jboss.threads.QueueExecutor.runTask(QueueExecutor.java:806) 
    at org.jboss.threads.QueueExecutor.access$100(QueueExecutor.java:45) 
    at org.jboss.threads.QueueExecutor$Worker.run(QueueExecutor.java:847) 
    at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_38] 
    at org.jboss.threads.JBossThread.run(JBossThread.java:122) 

Из моего анализа на Omnifaces документаций, я предполагаю, что исключение связано с атрибутом называется ATTRIBUTE_ERROR_EXCEPTION в HttpServletRequest объекта. Но он должен быть удален, поскольку я использую FullAjaxExceptionHandler#handle() из всех.

Events.addCallbackAfterPhaseListener(PhaseId.RENDER_RESPONSE, new Callback.Void() { 
    @Override 
    public void invoke() { 
     request.removeAttribute(ATTRIBUTE_ERROR_EXCEPTION); 
    } 
}); 

Вышеупомянутый фрагмент кода не удаляет этот атрибут.

Могу ли я удалить этот атрибут, чтобы избавиться от этой ошибки? Какова основная цель этого атрибута? и Как преодолеть java.lang.IllegalStateException: в этом сценарии?

+0

Похоже, вы используете старую версию OmniFaces. Есть ли шанс попробовать последнее? Несмотря на это, полная трассировка стека всегда полезна. – BalusC

+0

Привет, BalusC, я обновил полный стек. Я использую все версии 1.5. Было бы здорово, если я смогу решить эту проблему в той же версии. – Arun

+0

Любая идея об этом ребята ... ?? – Arun

ответ

Смежные вопросы

 Смежные вопросы