Re:java.lang.IllegalStateException: Can't reset

http://pjl-comp-filter.sourceforge.net/com/planetj/servlet/filter/compression/CompressingFilter.html

Se isso for um problema grave, você pode desabilitar o servlet que faz compressão nas páginas, reclamar para o planetj.com ou para a WebLogic (não sei quem lhe forneceu essa servlet de compressão), até arranjar uma versão sem bugs.

Olá Amigos, acabei de “quebrar a cabeça” com isso.

O problema que estava acontecendo comigo era o seguinte

na minha máquina corria tudo bem, mas ao gerar a versão e subir no servidor, acontecia esse erro > Can’t reset.

O probema que a versão do tomcat no servidor era diferente da minha máquina, na minha máquina utilizo 6.0_39 no servidor 6.0_24
ao atualizar a versão do tomcat no servidor para 6.0_39, o erro nao persistiu;

Olá,
Estou trabalhando em um projeto web utilizando JSP e weblogic.
De vez em quando ocorre o seguinte erro:

java.lang.IllegalStateException: Can’t reset
at com.planetj.servlet.filter.compression.ThresholdOutputStream.reset(ThresholdOutputStream.java:135)
at com.planetj.servlet.filter.compression.CompressingServletOutputStream.reset(CompressingServletOutputStream.java:97)
at com.planetj.servlet.filter.compression.CompressingHttpServletResponse.resetBuffer(CompressingHttpServletResponse.java:164)
at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:129)
at weblogic.servlet.jsp.PageContextImpl.forward(PageContextImpl.java:150)
at weblogic.servlet.jsp.PageContextImpl.handlePageException(PageContextImpl.java:309)
at jsp_servlet._sim._caf.__caf_controller._jspService(__caf_controller.java:150)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1006)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:419)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at com.planetj.servlet.filter.compression.CompressingFilter.handleDoFilter(CompressingFilter.java:210)
at com.planetj.servlet.filter.compression.CompressingFilter.doFilter(CompressingFilter.java:200)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6724)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3764)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2644)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)

Eu procurei no Google mas não achei nada com apenas Can’t reset, sempre havia alguma coisa complementando essa frase que pra mim não faz muito sentido.
O estranho é que acontece as vezes.
Alguém poderia me dar uma idéia sobre o que é? A página inteira é muito grande para eu colocar aqui, acho que vai mais atrapalhar do que ajudar.

Obrigado,
Oscar

Hm,
muito obrigado.
não tinha achado essa documentação.
Mas ela não fala nada sobre essa exceção, nem sobre o método reset, nem a classe ThresholdOutputStream.
Tu pode me dar mais alguma ajuda, por favor?

Será que não é erro meu?
Acho que eu devo ter feito algo errado nesta página JSP, visto que tudo estava funcionando perfeitamente.
Muito obrigado,
Oscar

só para constar:
O erro que estava acontecendo era que eu recebia uma string e transformava para um inteiro, porém quando essa string tinha o valor 0, ela não vinha como “0” e sim como “”, o que ocasionava uma exceção…
Ou seja: a mensagem não tinha nada a ver (:
depios de dois dias resolvi :slight_smile: