[RESOLVIDO] FileListener

3 respostas
ArthurTurtle

Boa tarde,

Eu estou tentando fazer um FileListener porem não estou tendo sucesso bem vamos la:

Eu tenho uma aplicação web, e nessa aplicação tem um arquivo XML com uma lista e alguns usuários alteram essa lista, ou seja, altera o XML e eu queria que sempre que alguém alterasse esse XML aparecesse uma mensagem, o problema é na hora de ficar monitorando esse arquivo, como eu teria que fazer? algo assim?

while(true){
     file.lastModified();
     //não sei o resto
}

Alguem sabe ou já fez esse tipo de ferramenta?

Desde já agradeço
[]'s

3 Respostas

A

cara,

dessa forma que vc fez, vc vai garrar sua aplicação. vc vai ter que fazer o seguinte:
la na sua pagina html, vc vai ter um poll, que vai no servidor de tempo em tempo e vc vai ter que guardar alguma informação no banco para vc saber que o arquivo foi alterado, e com isso vc faz um consulta no banco e se tiver essa informação vc mostra a mensagem.

t+

ArthurTurtle

Fala alisson eu resolvi assim cara:

public class ArquivoPhaseListener implements PhaseListener {
	File arquivo= new File("arquivo.xml");
	long ultimaModificação=arquivo.lastModified();
	public void afterPhase(PhaseEvent event) {
		if(arquivo.lastModified()>ultimaModificação){
			loginBean.lancaMensagem();
			System.out.println("Arquivo modificado");
			ultimaModificação=arquivo.lastModified();
		}else{
			System.out.println("Não foi modificado");
		}

	}

	public void beforePhase(PhaseEvent event) {
		// TODO Auto-generated method stub

	}

	public PhaseId getPhaseId() {
		// TODO Auto-generated method stub
		return PhaseId.RESTORE_VIEW;
	}

Ou seja implementei um PhaseListener e a cada vez que o usuário navega ele faz essa verificação, mais ou menos a ideia do pool

[]'s

A

cara,

esse codigo funcionou? ja testou esse com varios usuarios?

t+

Criado 9 de novembro de 2011
Ultima resposta 9 de nov. de 2011
Respostas 3
Participantes 2