Cheguei num ponto crucial do meu projeto… onde necessito que de tempos em tempos seja rodada uma rotina, uma regra, que atualiza os atributos de uma classe B a partir de uma conta dos atributos de uma classe A…
A pagina index.jsp tb tem que ser atualiza pois esses atributos estao sendo mostrados em tela…
Vcs podem me ajudar com algum exemplo, dica de como fazer isso ?
dê uma olhada na classe Timer do java.util ou no Quartz (agendador de tarefas).
Com o Timer por exemplo voce pode programar uma rotina que será executada de tempos em tempos que chamará sua camada de negocio que tratará a “atualizão dos atributos de uma classe B a partir de uma conta dos atributos de uma classe A” e posteriormente chamar seu servlet ou action(struts) que passará os valores chamando seu JSP.
De uma olhada em Ajax Reverso, com ele você pode configurar o servidor para atualizar as páginas de tempo em tempo, saiu uma matéria na Java Magazine desse mes, lá explicam como usar com o framework DWR essa nova funcionalidade do Ajax.
Nossa muito obrigado ai das respostas.. mas acho q por questao de tempo de aprendizagem vo usa a classe timer mesmo...
Soh que aproveitando... to com uma duvida...
O codigo abaixo deu um erro de sintaxe... creio eu q o objeto timer ta com pau... mas eu importei certinho a java.util.
Outra coisa... caso eu queria chamar uma action ai no run() como que eu faço... qual eh a sintaxe...
intdelay=5000;// delay for 5 sec.intperiod=1000;// repeat every sec.Timertimer=newTimer();timer.scheduleAtFixedRate(newTimerTask(){publicvoidrun(){// Task here ?}},delay,period);
Obrigado ai pela força !
Um abraço !
maquiavelbona
Você quer que o servidor avise o JSP para recarregar ou o JSP vai recarregar de tempos em tempos pré-determinados?
Se for a primeira opção, realmente o Ajax reverso é a melhor opção.
Se for a segunda, procure uma função em JavaScript que recarregue a página a cada X segundos, chamando a servlet já atualizada. Não há a necessidade de uso do Timer caso não seja um serviço que não dependa de ações do seu próprio sistema ( por exemplo, atualizar cotação da bolsa ).
Até!
Comentário muito pessoal: Mas que bigode estranho. Quando estudei contigo no técnico não era tão feio assim.
henriquedamota
uhahuahu fala ai doutor maquiavelbona…
que legal saber que vc alem do cobol agora ta dominando java !
Cara… acho q num vo ter tempo de aprender ajax reverso… mas valeu ai… vo dar uma lida depois no assunto…
Mas por hora em funçao de necessidade… como que eu faço pra chamar uma action dentro do meu run() da chasse timer la em cima ?
Vlw !
Crocodilo
Acho que isso se aproxima um pouco da solução ao menos me parace um exemplo mais completo
henriquedamota
Cara valeu ai vou dar uma olhada e tentar aplicar esse exemplo !