Estou aqui desenvolvendo um projetinho basico e me deparei com uma especificação:
“Os Dados, antes de serem enviados para o Servidor com SGBD, deve, primeiramente
passar por um cache local (arquivo, log) e ao final do processo, todas as atualizacoes
sao realizadas de uma só vez.”
Pelo que eu entendi do seu requisito vc deve manter uma base de dados local e em algum momento sincronizar com um servidor de banco de dados.
No seu lugar eu utilizaria o HSQLDB como base de dados local. O HSQLDB é um banco de dados relacional desenvolvido em Java, e que aceita os comandos SQL.
1 - faça as operações de armazenamento com o HSQLDB em 1o. lugar, como se vc estivesse interagindo com o servidor de banco de dados
2 - peque os arquivos de log do HSQLDB, que são os comandos SQL (DML) que vc executou e mande executar no servidor de banco de dados
3 - talvez vc vai ter que pensar em como sincronizar a base local com o servidor principal
o servidor (HSQLDB) pode ser manipulado internamente?
ou toda vez que eu for executar a aplicação eu tenho que executar o jar do BD para que a ela (a app) se conecte?
Bom, pelo que eu entendi, se toda essa preocupação de log for apenas para poder acumular as querys para realizar as atualizações de uma só vez, você consegue fazer isso simplesmente usando os métodos addBatch(String sql) para acumular as querys e, ao final de tudo, o executeBatch() as executa de uma só vez. Estes são métodos da interface Statement do JDBC (http://java.sun.com/j2se/1.4.2/docs/api/java/sql/Statement.html).