Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

williamnohath

erro maluco

Recommended Posts

seguinte galera

 

eu to tentando fazer um guest book

tem um metodo, que grava e outro que pega os dados do banco

quando inicia o jsp, ele entra e pega os dados do banco numa boa

mas apos algum tempo se eu dou f5 (refresh) ou cadastro uma nova mensagem (depende do tempo) ele da o seguinte erro que noa faco menor ideia do que seja

 

 

No operations allowed after connection closed. Connection was  closed explicitly by the application at the following location: ** BEGIN  NESTED EXCEPTION ** java.lang.Throwable STACKTRACE: java.lang. Throwable at com.mysql.jdbc.Connection.close(Connection.java:1123)  at org.apache.jsp.index_jsp.Close(index_jsp.java:46) at org.apache.jsp. index_jsp._jspService(index_jsp.java:228) at org.apache.jasper.runtime. HttpJspBase.service(HttpJspBase.java:94) at javax.servlet.http. HttpServlet.service(HttpServlet.java:802) at org.apache.jasper.servlet. JspServletWrapper.service(JspServletWrapper.java:324) at org.apache. jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292) at org. apache.jasper.servlet.JspServlet.service(JspServlet.java:236) at javax. servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache. catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterCha in.java:237) at org.apache.catalina.core.ApplicationFilterChain. doFilter(ApplicationFilterChain.java:157) at org.netbeans.modules.web. monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362) at org.apache .catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain .java:186) at org.apache.catalina.core.ApplicationFilterChain. doFilter(ApplicationFilterChain.java:157) at org.apache.catalina.core. StandardWrapperValve.invoke(StandardWrapperValve.java:214) at org. apache.catalina.core.StandardValveContext. invokeNext(StandardValveContext.java:104) at org.apache.catalina.core. StandardPipeline.invoke(StandardPipeline.java:520) at org.apache. catalina.core.StandardContextValve. invokeInternal(StandardContextValve.java:198) at org.apache.catalina .core.StandardContextValve.invoke(StandardContextValve.java:152) at  org.apache.catalina.core.StandardValveContext. invokeNext(StandardValveContext.java:104) at org.apache.catalina.core. StandardPipeline.invoke(StandardPipeline.java:520) at org.apache. catalina.core.StandardHostValve.invoke(StandardHostValve.java:137) at  org.apache.catalina.core.StandardValveContext. invokeNext(StandardValveContext.java:104) at org.apache.catalina. valves.ErrorReportValve.invoke(ErrorReportValve.java:118) at org. apache.catalina.core.StandardValveContext. invokeNext(StandardValveContext.java:102) at org.apache.catalina.core .StandardPipeline.invoke(StandardPipeline.java:520) at org.apache. catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109 ) at org.apache.catalina.core.StandardValveContext. invokeNext(StandardValveContext.java:104) at org.apache.catalina.core .StandardPipeline.invoke(StandardPipeline.java:520) at org.apache. catalina.core.ContainerBase.invoke(ContainerBase.java:929) at org. apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:16 0) at org.apache.coyote.http11.Http11Processor.process(Http11Process or.java:799) at org.apache.coyote.http11. Http11Protocol$Http11ConnectionHandler. processConnection(Http11Protocol.java:705) at org.apache.tomcat.util. net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577) at org.apache. tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:6 83) at java.lang.Thread.run(Thread.java:595) ** END NESTED  EXCEPTION **

Compartilhar este post


Link para o post
Compartilhar em outros sites

Willian...

 

Pelo que esta dizendo na primeira parte da mensagem:

No operations allowed after connection closed.

 

Por um motivo que eu desconheço, vai depender da modelagem das suas classes, a sua conexão com o banco de dados esta dando timeout, e, quando você vai executar uma nova ção, a conexão esta fechada. Seria interessante usar um try ou fazer uma verificação do status da conexão antes da execução de cada ação.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Outra coisa, mas mesmo assim, se a conexao foi fechada de alguma forma, toda vez que ele carrega o meu jsp, ele conecta ao banco...deveria conectar novamente, não ???na verdade estou totalmente perdido, no que pode estar acontecendo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, toda a vez que ele vai ler as mensagens, eu chamo esse método aqui

 

public void Open() {         try {                Class.forName("com.mysql.jdbc.Driver");//jdbc:mysql://www.freesql.org/williamnohath            c = DriverManager.getConnection("jdbc:mysql://www.freesql.org/williamnohath", "*****", "*****");                        } catch (Exception e) {             erro = "ERRRO AO ABRIR O BANCO " + e.getMessage();            }        }    

e depois esse, respectivamente, e só isso...

 

public void consultarDados(){  try{            Statement stmt = c.createStatement();            ResultSet rs = stmt.executeQuery("select nome, texto, data, hora from guestbook");                 while (rs.next()){              msg_texto.add(rs.getString("texto"));                        msg_nome.add(rs.getString("nome"));                        msg_data.add(rs.getString("data"));                        msg_hora.add(rs.getString("hora"));        }                    }catch(Exception e){            erro = "ERRO AO CONSULTAR OS DADOS " + e.getMessage();        }}
e depois de um certo tempo, comeca a dar esse erro acima...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.