Seguinte, toh tentando usar o prevayler, mas toh fazendo alguma coisa muuuito errada.
Eu toh usando a serialização em XML… enquanto eu rodo o meu programa eu vejo o XML aumentando de tamanho, trazendo + detalhes, vejo o garfo se expandindo como esperado. Quando fecho, vejo que tudo que não tinha sido gravado ainda vai pro HD. Mas, como tudo tem um mas… quando eu rodo o meu aplicativo denovo ele simplesmente perde tudo. Ele começa tudo do 0.
Eu fiz uma persistence factory que é a responsável por manter a thread que faz o snapshot e por inicializar o prevayler. O código está em anexo, se alguem puder me ajudar…
Velo, o q vc tah usando quando vc gera o xml?Eu uso XStream.Exemplo:
digamos q vc pega os dados que um user digitou num form ou algo assim,exemplo tosco, só para te dar uma idéia:
Usuario usuario=(Usuario)session.getAttribute("usuario");
try{UsuarioRenovaCadastrou=newUsuarioRenovaCadastro();u.setUsuario(usuario);u.setNomeUsuario(request.getParameter("nome"));u.setEndereco(request.getParameter("endereco"));u.setBairro(request.getParameter("bairro"));u.setCidade(request.getParameter("cidade"));u.setEstado(request.getParameter("estado"));u.setCep(request.getParameter("cep"));u.setComentario(request.getParameter("comentario"));factory.configureSnapshotManager(newXStreamSnapshotManager(u,"C:/BaseDeRequisições"){protectedXStreamcreateXStream(){XStreamxstream=newXStream();xstream.alias("professor",UsuarioRenovaCadastro.class);//faz o XML ficar identado.returnxstream;}});// Cria o prevayler Prevaylerprevayler=factory.create();prevayler.takeSnapshot();}catch(Exceptionme){me.printStackTrace();System.out.println("Merda Exception!Não deu para gerar o XML!");}
Ah, essa factory é só instanciar antes:
PrevaylerFactory factory = new PrevaylerFactory();
Eu sempre usava + ou- assim e nunca deu problemas.A base rodava legal...
velo
Ironlynx:
Velo, o q vc tah usando quando vc gera o xml?Eu uso XStream.
Eu tava usando o XmlSnapshotManager.
Mudei o meu programa pra rodar com o XStreamSnapshotManager assim como o seu exemplo, nossa, gerou um XML bem mais limpo e identado, ficou muito melhor.
Mas ele perde zera o XML toda vez q eu rodo o programa.
Quando eu fecho o programa eu tenho o XML 1.
Quando eu abro denovo, ele apaga tudo e eu tenho o XML 2.
Se tem ideia do que se passa?
VELO
velo
Tentei usar o SnapshotManager que faz a serialização default e tbm não tá dando certo.
Pelo menos com o SnapshotManager ele grava todas alterações que eu faço e de tempos em tempos tira o snapshot.
Mas mesmo assim, se eu fechar e abrir denovo, perco tudo.