O detalhe dessa estratégia é utilizar a protocolo res para criar a conexão com HSQLDB. Com ele os arquivos do banco de dados são carregados como recursos da aplicação da mesma forma que classes Java.
public static Connection openConnection() {
Connection conn = null;
try {
Class.forName("org.hsqldb.jdbcDriver");
String bd = "meuDB";
//url da conexao
String url = "jdbc:hsqldb:file:/"+db;
String user = "sa";
String password = "";
conn = DriverManager.getConnection(url, user, password);
return conn;
} catch (ClassNotFoundException e) {
String errorMsg = "Driver nao encontrado";
throw new RuntimeException(errorMsg, e);
} catch (SQLException e) {
String errorMsg = "Erro ao obter a conexao";
throw new RuntimeException(errorMsg, e);
}
}
Os arquivos para o meuDB, devem ser armazenados no diretório META-INF do jar (pelo menos meuDB.log, meuDB.properties, meuDB.script).
Uma caracteristica muito importante desse protocolo, é que a conexão será criada como somente leitura (read-only). As manipulações (insert/update/delete) ocorrem somente em memória.
Outra referencia é o tópico sobre protocolos de conexão na documentação do HSQLDB.
@edermag
No comments:
Post a Comment