Pessoal, tenho um sistema feito em JSP, usando Hibernate, banco MySQL e servidor Tomcat.
Assim que inicio o servidor, o login funciona normalmente, mas depois de algumas horas aparece o seguinte erro:
:!: [color=red]org.hibernate.exception.JDBCConnectionException: could not execute query.[/color]
Já pesquisei bastante sobre o problema, mas ainda não consegui resolver.
Meus arquivos estão assim:
:arrow: [color=blue]hibernate.cfg.xml[/color]<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/banco?autoReconnect=true</property>
<property name="connection.username">user</property>
<property name="connection.password">passwd</property>
<property name="connection.autoReconnect">true</property>
<property name="connection.pool_size">1</property>
<property name="dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
<property name="current_session_context_class">thread</property>
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
<property name="show_sql">true</property>
<mapping resource="model/User.hbm.xml"/>
<mapping resource="model/ExtratoConexao.hbm.xml"/>
</session-factory>
</hibernate-configuration>
<%@ page language="java" contentType="text/xml; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@include file="includes/jspheader.jsp" %>
<%
String usuario = request.getParameter("usuario");
String password = request.getParameter("password");
org.hibernate.Session sessao = null;
Transaction tx = null;
try{
sessao = HibernateUtil.getSessionFactory().openSession();
tx = sessao.getTransaction();
tx.begin();
User user = sessao.createQuery("from User u where u.userName='"+usuario+"'").list().iterator().next();
boolean authenticate = user!=null && user.getPassword().equals(password);
if(authenticate){
//Armazenar em session
session.setAttribute("user", user);
//Gerar tags XML
out.print("<autenticado>1</autenticado>");
}else{
//Gerar tags XML
out.print("<autenticado>0</autenticado>");
}
}catch(Exception ex){
tx.rollback();
out.print("[x]"+ex.toString());
}finally{
if(tx != null && tx.isActive())
tx.commit();
if(sessao != null && sessao.isOpen())
sessao.close();
}
%>
Um detalhe: se eu reinicio o servidor, tudo volta a funcionar!
Por favor, me ajudem!!!