Anotação @Schedule

20 respostas
J

Alguém aí já utilizou a annotation @Schedule do Java?

Queria saber se tem como diminuir o intervalo pra segundos.

É pq usei assim pro método ser executado minuto a minuto, mas n encontrei como implementar em um intervalo menor:

@Schedule(hour="*", minute="*", second="10")
private void teste() {
     System.out.println("teste");
}

Valeu, obrigado a todos :lol:

20 Respostas

G

second="*/3"

a cada 3s

S

onde encontro a documentação do @Schedule???

J

Valeu garcia-jj, funcionou perfeitamente.

Obrigado mesmo pela ajuda.

S

Como funciona esta anotação, nao encontro na documentação???
@Schedule???

G

A documentação pode ser encontrada no JEE6 Tutorial: http://download.oracle.com/javaee/6/tutorial/doc/

S

ja procurei nesta documentação e nada, Ops!!! tens razao eu procurei na documentação do java ee 5, ok valeu vou procurar nesta documentacao

S

ok, encontrei valeu

S

sera que posso usar a anotacao @Schedule no jsf MB , ou tem que ser apenas no EJB??

G

Somente EJB

S

Somente EJB
OPA!!! sujou…

G

Não faz sentido um scheduler em um backing bean.

S

preciso de implementar um metodo numa pagina web (jsf 2+ primefaces ) que seja executado de 5 em 5 minutos.
tens alguma idea de como implementar isso??? sem ter que usar um outro framework ( quartz)???

G

Você quer que uma tela seja executada a cada X tempos? Isso você deve fazer usando Javascript ou uma meta-tag do HTML. Isso não tem nada a ver com nenhum scheduler, seja ele EJB ou Quartz.

S

Não e não…
eu nao quero que uma tela seja executada a cada X tempos, porque isso eu até ja fiz muitas vezes em php e em java, para isso tem uma tag html.
eu quero que um metodo seja executado de x em x tempos??? tens alguma idea??

T

Não e não…
eu nao quero que uma tela seja executada a cada X tempos, porque isso eu até ja fiz muitas vezes em php e em java, para isso tem uma tag html.
eu quero que um metodo seja executado de x em x tempos??? tens alguma idea??

E por que esse método precisa ficar no ManagerBean???
O que ele faz exatamente?

S

Na verdade este metodo não tem que ficar no Managed Bean, mas como a aplicação é uma aplicação web, o metodo deve ser iniciado com a aplicação, é um metodo que eu vou fazer para de 5 em 5 minutos monitorar os dados de uma tabela na base de dados e com relacao a algumas datas e horas ir trocando o estados ( valor ) de alguns campos nesta mesma tabela.
Mas deve iniciar quando a aplicação iniciar e ficar rodando até o fim da aplicação.

T

Se o seu servidor possuir TimerManager, use-o. Mas acho que só da com EJB.
Caso contrário use um Timer comum, existem outras implementações como o Quartz ou na commonj também se preferir.

S

Tchello:
Se o seu servidor possuir TimerManager, use-o. Mas acho que só da com EJB.
Caso contrário use um Timer comum, existem outras implementações como o Quartz ou na commonj também se preferir.


eu nao quero usar nenhum framework adicional, eu conheco o quartz, mas preferia nao usar vou tentar o timer simples

T

sulito:
Tchello:
Se o seu servidor possuir TimerManager, use-o. Mas acho que só da com EJB.
Caso contrário use um Timer comum, existem outras implementações como o Quartz ou na commonj também se preferir.


eu nao quero usar nenhum framework adicional, eu conheco o quartz, mas preferia nao usar vou tentar o timer simples

Existem outras implementações de Timer na JSE.

Procure pelo java.util.Timer e java.util.TimerTask.

S

valeu, vou pesquisar :slight_smile: :slight_smile: :idea: :idea:

Criado 9 de novembro de 2010
Ultima resposta 15 de nov. de 2010
Respostas 20
Participantes 4