[RESOLVIDO] java.lang.IllegalStateException: Cannot create a session after the response has been committed

6 respostas
jsfprimefacesjava
D

Bom dia galera, estou com um problema estranho em minha aplicação somente depois que gero o War e envio para o Integrator, a aplicação não chega nem a abrir a tela de Login, é retornado esse erro:

INFO: Exception when handling error trying to reset the response.
java.lang.IllegalStateException: Cannot create a session after the response has been committed
	at org.apache.catalina.connector.Request.doGetSession(Request.java:3008)
	at org.apache.catalina.connector.Request.getSession(Request.java:2384)
	at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:897)
	at com.sun.faces.context.ExternalContextImpl.getSession(Unknown Source)
	at javax.faces.context.ExternalContextWrapper.getSession(Unknown Source)
	at br.com.mafra.filter.AuthorizationListener.afterPhase(AuthorizationListener.java:24)
	at com.sun.faces.lifecycle.Phase.handleAfterPhase(Unknown Source)
	at com.sun.faces.lifecycle.Phase.doPhase(Unknown Source)
	at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(Unknown Source)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(Unknown Source)
	at javax.faces.webapp.FacesServlet.service(Unknown Source)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at br.com.mafra.filter.ControleFilter.doFilter(ControleFilter.java:41)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:957)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)
	at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:620)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:745)

6 Respostas

D

Ola,

Difícil responder assim sem mais informações. Mas acredito que tem a ver com o tipo de escopo que você está usando no seus ManagedBeans. Além disso dê uma olhada no seu web.xml e veja se você está usando manter o estado no cliente ou no server e poste aqui o resultado.

Att

D

Bem Daniel, o estranho é que só ocorre quando é gerado o War e feito o upload para o Servidor externo, tanto para o TomCat local, quando para o Eclipse funciona normalmente …

Quais informações seria preciso ??

Obrigado

D

Diego,

Qual seria o Servidor externo?

D

Hospedo a aplicação no Integrator …

D

Mas qual é o servidor de aplicações lá? Pergunto isso, porque já vi algumas pessoas reclamando de um problema específico em alguns servidores, onde o JSF cria o ViewScoped antes de criar a session.

Faça um teste. Adiciona isso no seu web.xml e veja se resolve:

<context-param> 
<param-name>com.sun.faces.writeStateAtFormEnd</param-name> 
<param-value>false</param-value> 
</context-param>

Att

D

Bom dia Daniel … realmente … adicionei ao projeto e resolveu o problema …

Obrigado !!

Criado 3 de outubro de 2016
Ultima resposta 4 de out. de 2016
Respostas 6
Participantes 2