Hibernate com derby - arquivos lck

1 resposta
L

Minha dúvida é a seguinte…
Estou fazendo uma aplicação com o derby como banco embutido.
o problema é que quando encerro a aplicação, ele fica com uns arquivos lck na pasta dele, e pelo que vi esses arquivos seriam para bloquear duas instancias serem executadas ao mesmo tempo. É bem isso que eu quero, mas esses arquivos não deveriam ficar na aplicação somente enquanto a aplicação estivesse aberta, quando encerrada, eles não deveriam desaparecer?
Por exemplo, quando eu conecto na base de dados através do netbeans, os arquivos são criados, e quando eu encerro a conexão , os arquivos são apagados.

Outra coisa estou usando o Hibernate para conexão, e estive fuçando na net e achei um comando para encerrar que seria

DriverManager.getConnection("jdbc:derby:;shutdown=true");

mas como uso o hibernate, não sei como chegar a este comando…

alguém já passou por isso…?
Ou não devo me preocupar com esses arquivos .lck?

1 Resposta

L

Consegui… gerei um método

public static void encerraBancoLocal(){
        try {
          
            DriverManager.getConnection("jdbc:derby:;shutdown=true");

        } catch (SQLException se) {
            if ( se.getSQLState().equals("XJ015") ) {
            	  System.out.println("Base de dados foi encerrada com sucesso!");
              }else{
            	 Logger.getLogger(HibernateUtil.class).error("Erro ao encerrar a base de dados! ",se);
              }
        }
    
    }

Chamo este método ao fechar o frame principal da aplicação…
Pensei que usando esta linha do DriverManager não iria funcionar, já que o proprio hibernate que faz toda essa parte… e nem carregaria nada no DriverManager… mas funcionou…
quando eu executo este método ele retira de vez os arquivos de bloqueio

Criado 23 de maio de 2011
Ultima resposta 23 de mai. de 2011
Respostas 1
Participantes 1