Anotação @Schedule

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:

second="*/3"

a cada 3s

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

Valeu garcia-jj, funcionou perfeitamente.

Obrigado mesmo pela ajuda.

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

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

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

ok, encontrei valeu

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

Somente EJB

Somente EJB[/quote]
OPA!!! sujou…

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

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)???

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.

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

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??[/quote]

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

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.

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.

[quote=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.

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

[quote=sulito][quote=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.

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

Existem outras implementações de Timer na JSE.

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