Como Atualizar atributos e pagina dinamicamente?

7 respostas
henriquedamota

Olá pessoal !

Mais uma vez aqui outra duvida minha…

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 ?

Muito obrigado mais uma vez ai pessoal !

7 Respostas

daanylo

Opa, fala ae henrique!

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.

nesse link tem um exemplo simples do uso da classe Timer
http://mangar.wordpress.com/2007/06/28/javautiltimer/

Abs,

Pedrosa

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.

DWR Ajax Reverse:
http://getahead.org/dwr/reverse-ajax

henriquedamota

Olá !

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...

int delay = 5000;   // delay for 5 sec.
    int period = 1000;  // repeat every sec.
    Timer timer = new Timer();

    timer.scheduleAtFixedRate(new TimerTask() {
            public void run() {
                // 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 !

qualquer coisa dou um grito ai pra vc ! =)

Um abraço !

Criado 21 de agosto de 2007
Ultima resposta 2 de out. de 2007
Respostas 7
Participantes 5