Hibernate - problemas de conexão

0 respostas
P

Fala :smiley:

Resolvemos colocar a aplicação na Locaweb mas aquilo é muito ruim. O MySQL deles é configurado para matar a conexão se estiver ociosa por mais de 15 segundos, o problema é q eu não consigo fazer nada, sempre recebo erro de Connection Link Failure e parece que a conexão não é aberta novamente. Eu tentei criar uma JNDI e no ambiente da Locaweb, só ficou pior. To começando a considerar a idéia que meu código está feito nas coxas, mas o estranho é que em qlqr ambiente funciona, menos nos deles.

Qual a melhor pratica para se fazer transacoes com o banco? Eu li algo sobre fechar conexão, mas se eu fechar, elas não abrem mais. Meus métodos, seguem a mesma estrutura praticamente:

session = InitSessionFactory.getInstance().getCurrentSession();
			Transaction tx = session.beginTransaction();
			logger.info("Preparando para buscar todos objetos: [ " + classe.getSimpleName() + " ]");
			Query query = session.createQuery("from " + classe.getSimpleName());
			logger.info("Objetos [ " + classe.getSimpleName() + " ] encontrado com sucesso");
			session.clear();
			results = query.list();
			tx.commit();

Meu hibernate.cfg.xml está configurado da seguinte maneira:

<?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>

        <!-- Database connection settings -->
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="connection.url">jdbc:mysql://10.246.1.6:3306/rio</property>
        <property name="connection.username">alberto</property>
        <property name="connection.password"></property>

		<property name="transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>

        <!-- JDBC connection pool (use the built-in) -->
        <!--  <property name="connection.pool_size">30</property>  -->
		
		
		<property name="c3p0.min_size">5</property>
		<property name="c3p0.max_size">100</property>
		<property name="c3p0.timeout">300</property>
		<property name="c3p0.max_statements">0</property>
		
        <!-- SQL dialect -->
        <property name="dialect">org.hibernate.dialect.MySQLDialect</property>

        <!-- Enable Hibernate's automatic session context management -->
        <property name="current_session_context_class">thread</property>

        <!-- Disable the second-level cache  -->
        <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>

        <!-- Echo all executed SQL to stdout -->
        <property name="show_sql">true</property>

		<mapping class="com.s.p.associacao.to.AssociacaoTO"/>
		<mapping class="com.s.p.login.to.LoginTO"/>
		<mapping class="com.s.p.nextel.to.MensagemAllabellaTO"/>
		<mapping class="com.s.p.nextel.to.MensagemRecebidaTO"/>
		<mapping class="com.s.p.venda.to.PontoVendaTO"/>
		<mapping class="com.s.p.nextel.to.PosicionamentoTO"/>
		<mapping class="com.s.p.talao.to.TalaoTO"/>
		<mapping class="com.s.p.usuario.to.UsuarioTO"/>
		
    </session-factory>

</hibernate-configuration>

E minha InitSessionFactory, é igual a essa: http://www.koders.com/java/fid3DAD9860DC3BB34901A7702AB31CF5913BA547D5.aspx?s=GenMM

Valeu

Criado 20 de maio de 2009
Respostas 0
Participantes 1