Fechar session do hibernate - Firebird Embarcado

6 respostas
gustavo.moda

Amigos,

Estou apanhando muito com isso! :frowning:
Não consigo de maneira alguma fechar a session do hibernate, com isso, a aplicacao fica em execucao… A JVM nao para o processo.

Estou fazendo assim:

sessionFactory.getCurrentSession().close();

Abaixo configuracao do hibernate

<?xml version='1.0' encoding='utf-8'?>  
   <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">  
    <hibernate-configuration>  
        <session-factory>  
      
            <!-- Settings for a local Derby database. -->  
            <property name="dialect">org.hibernate.dialect.FirebirdDialect</property>    
            <property name="query.substitutions">true 1, false 0</property>  
            <property name="connection.driver_class">org.firebirdsql.jdbc.FBDriver</property>  
           <property name="connection.url">jdbc:firebirdsql:embedded:c:/database/pdv.fdb?lc_type=ISO8859_1</property>   
           <property name="connection.lc_ctype">ISO8859_1</property>  
           <property name="connection.username">SYSDBA</property>  
           <property name="connection.password">masterkey</property>  
           <property name="hibernate.connection.lc_ctype">ISO8859_1</property>  
           <property name="hibernate.jdbc.batch_size">20</property>  
                   <property name="hibernate.connection.isolation">2</property>  
                   <property name="hibernate.current_session_context_class">org.hibernate.context.ThreadLocalSessionContext</property>  
           <property name="show_sql">false</property>  
           <property name="format_sql">false</property>  
             
           <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>   
                     
           <!-- Drop and re-create the database schema on startup -->  
           <property name="hbm2ddl.auto">update</property>  
                     
           <!-- Mapping files. -->  
           <mapping resource="business/model/Gerenciamento/Caixa.hbm.xml"/>  
       </session-factory>  
     
  </hibernate-configuration>

6 Respostas

Rubem_Azenha

Provavelmente o hibernate ta colocando a conexão com o firebird num pool de conexões, por isso ele não ta fechando a conexão.

gustavo.moda

Não vejo necessidade de usar pool, tem como desativar?

Rubem_Azenha

Não tenho certeza, mas tenta adicionar:

<property name="connection.pool_size">1</property>

E se não der certo:

<property name="connection.pool_size">0</property>

Para garantir mesmo, dependendo do caso, você pode até mesmo chamar sessionFactory.close().

gustavo.moda

O problema é o hibernate com o firebird embbed…
Mudei para o Server e a aplicacao encerra normalemnte.

Vou mandar email para o firebird.support para ter uma luz.

Valeu

Rubem_Azenha

cara, eu acho que o problema não é com o firebird e sim com o fato de que o Hibernate não esta fechando a conexão com o banco.

gustavo.moda

Acredito nisso também!

Estou mergulhado na net procurando referencia sobre o assunto e ate agora nao encontrei.
Por enquanto, deixei o embbed um pouco de lado e parti para o super server do fb.

Criado 28 de julho de 2008
Ultima resposta 29 de jul. de 2008
Respostas 6
Participantes 2