Erro Tomcat + MSSQL

0 respostas
max.analista

Olá amigos,

Estou rodando minha aplicação no servidor da empresa e está tudo ok. No entanto, ao deixar a aplicação rodando alguns dias, de repente, a conexão com o banco para de funcionar. Isso mesmo! No inicio funciona tranquilamente, nos primeiros dias. No meu ultimo teste, ao se passarem cerca de 7 dias, eu acesso a aplicação, esta mesma abre, no entanto, os campos que deveriam ser carregados com informações do banco, simplesmente não são carregados.

O erro no Log do Tomcat 7.0.34 é:

07/01/2013 07:14:08 br.com.utilitarios.phaseListener beforePhase

GRAVE: null

com.microsoft.sqlserver.jdbc.SQLServerException: Connection reset by peer: socket write error

at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)

at com.microsoft.sqlserver.jdbc.TDSChannel.write(Unknown Source)

at com.microsoft.sqlserver.jdbc.TDSWriter.flush(Unknown Source)

at com.microsoft.sqlserver.jdbc.TDSWriter.writePacket(Unknown Source)

at com.microsoft.sqlserver.jdbc.TDSWriter.endMessage(Unknown Source)

at com.microsoft.sqlserver.jdbc.TDSCommand.startResponse(Unknown Source)

at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteStatement(Unknown Source)

at com.microsoft.sqlserver.jdbc.SQLServerStatement$StmtExecCmd.doExecute(Unknown Source)

at com.microsoft.sqlserver.jdbc.TDSCommand.execute(Unknown Source)

at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(Unknown Source)

at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(Unknown Source)

at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(Unknown Source)

at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeQuery(Unknown Source)

at br.com.utilitarios.phaseListener.beforePhase(phaseListener.java:97)

at com.sun.faces.lifecycle.Phase.handleBeforePhase(Phase.java:228)

at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:99)

at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)

at javax.faces.webapp.FacesServlet.service(FacesServlet.java:410)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)

at com.googlecode.psiprobe.Tomcat70AgentValve.invoke(Tomcat70AgentValve.java:38)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)

at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)

at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1822)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

07/01/2013 07:17:02 br.com.utilitarios.phaseListener beforePhase

GRAVE: null

com.microsoft.sqlserver.jdbc.SQLServerException: The connection is closed.

at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)

at com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed(Unknown Source)

at com.microsoft.sqlserver.jdbc.SQLServerConnection.createStatement(Unknown Source)

at com.microsoft.sqlserver.jdbc.SQLServerConnection.createStatement(Unknown Source)

at br.com.utilitarios.phaseListener.beforePhase(phaseListener.java:96)

at com.sun.faces.lifecycle.Phase.handleBeforePhase(Phase.java:228)

at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:99)

at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)

at javax.faces.webapp.FacesServlet.service(FacesServlet.java:410)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)

at com.googlecode.psiprobe.Tomcat70AgentValve.invoke(Tomcat70AgentValve.java:38)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)

at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)

at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1822)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Com relação ao phaseListener que está implementado na aplicação, creio que não há problemas visto que ele apenas faz uma verificação se o usuário possui permissão para acessar a aplicação.

Espero que a experiência de alguns possam me ajudar.

Grato.

Criado 7 de janeiro de 2013
Respostas 0
Participantes 1