| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/07/2011 09:49:45
|
Pedro Ribeiro
JavaChild
Membro desde: 24/06/2011 14:46:02
Mensagens: 114
Offline
|
Olá pessoal, estou com uma aplicação que faz o seguinte, é um Jframe que quando o usuário clica em um botão dispara uma consulta no banco. Eu gostaria que, quando a aplicação fosse iniciada, a aplicação fizesse a consulta e ficasse repetindo automaticamente em determinados períodos de tempo. É possível? Como?
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/07/2011 09:53:25
|
FernandoFranzini
GUJ Master
![[Avatar]](/images/avatar/33f6c40df1060aa3c548ad2d499eced0.jpg)
Membro desde: 24/04/2009 12:58:16
Mensagens: 1541
Offline
|
Pedro Ribeiro wrote:Olá pessoal, estou com uma aplicação que faz o seguinte, é um Jframe que quando o usuário clica em um botão dispara uma consulta no banco. Eu gostaria que, quando a aplicação fosse iniciada, a aplicação fizesse a consulta e ficasse repetindo automaticamente em determinados períodos de tempo. É possível? Como?
Sim.... use a classes Timer e TimerTaks para fazer um agendamento de processos de tempos e tempos..dai vc implementa oque deseja fazer...
http://www.dsc.ufcg.edu.br/~jacques/cursos/map/html/threads/timer.html
http://enos.itcollege.ee/~jpoial/docs/tutorial/essential/threads/timer.html
This message was edited 1 time. Last update was at 14/07/2011 09:53:50
|
Fernando Franzini |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/07/2011 11:58:07
|
felipevs
JavaEvangelist
Membro desde: 05/01/2011 00:23:31
Mensagens: 456
Offline
|
Se você não quiser por horário e sim por segundos.
Por exemplo: de Dez em dez segundo faça uma chamada no banco.
This message was edited 1 time. Last update was at 14/07/2011 12:06:03
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/07/2011 13:01:46
|
rmendes08
GUJ Master
![[Avatar]](/images/avatar/9ee855f3ce4dd40182183463232e2162.jpg)
Membro desde: 29/05/2008 14:09:28
Mensagens: 1617
Offline
|
felipevs wrote:Se você não quiser por horário e sim por segundos.
Por exemplo: de Dez em dez segundo faça uma chamada no banco.
Não entendi o porque dessa complicação , não seria mais fácil usar :
logo de uma vez ?
De qualquer maneira, eu acho o uso do Timer mais limpo, ainda mais em uma aplicação Swing.
Em segundo lugar , eu pensaria com carinho se ficar consultando o banco de dados toda a hora faz realmente sentido, isso é praticamente o inverso do caching de entidades (ou tabelas). Ou seja, vai na contra-mão de tudo o que é feito para ganho de desempenho em uma aplicação.
This message was edited 1 time. Last update was at 14/07/2011 13:03:25
|
"A Técnica é transformada em Arte por quem a emprega"
"O futuro pertence àqueles que acreditam na beleza de seus sonhos"
Computadores Fazem Arte
http://www.uaijug.com.br
"É importante estabelecer uma estrutura de alto nível, mas isso não significa criar uma infinidade de diagramas de classes detalhados." |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/07/2011 14:09:06
|
FernandoFranzini
GUJ Master
![[Avatar]](/images/avatar/33f6c40df1060aa3c548ad2d499eced0.jpg)
Membro desde: 24/04/2009 12:58:16
Mensagens: 1541
Offline
|
Fazer while infinito é na verdade gambiarra...use Timer e TimerTask que foi feio justamente para isso.....
|
Fernando Franzini |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/07/2011 14:47:37
|
Lucas Emanuel
GUJ Master
Membro desde: 09/08/2009 23:48:57
Mensagens: 1143
Localização: Heap
Offline
|
Cria um Stateless Bean com um Timer Service.
This message was edited 2 times. Last update was at 14/07/2011 14:51:05
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/07/2011 14:51:23
|
FernandoFranzini
GUJ Master
![[Avatar]](/images/avatar/33f6c40df1060aa3c548ad2d499eced0.jpg)
Membro desde: 24/04/2009 12:58:16
Mensagens: 1541
Offline
|
Lucas Emanuel wrote:Cria um Stateless Bean e com um Timer Service.
Não da para fazer isso dentro de uma aplicação Swing....
|
Fernando Franzini |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/07/2011 14:56:06
|
Lucas Emanuel
GUJ Master
Membro desde: 09/08/2009 23:48:57
Mensagens: 1143
Localização: Heap
Offline
|
FernandoFranzini wrote:
Lucas Emanuel wrote:Cria um Stateless Bean e com um Timer Service.
Não da para fazer isso dentro de uma aplicação Swing....
Mals , não tinha visto que era Swing.
This message was edited 2 times. Last update was at 14/07/2011 15:01:57
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/07/2011 15:06:17
|
Pedro Ribeiro
JavaChild
Membro desde: 24/06/2011 14:46:02
Mensagens: 114
Offline
|
rmendes08 wrote:
Tentei de diversas maneiras inserir seu código ao meu mas me parece que entra em um loop infinito, a janela trava.
This message was edited 1 time. Last update was at 14/07/2011 15:07:13
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/07/2011 15:08:47
|
FernandoFranzini
GUJ Master
![[Avatar]](/images/avatar/33f6c40df1060aa3c548ad2d499eced0.jpg)
Membro desde: 24/04/2009 12:58:16
Mensagens: 1541
Offline
|
while(true){
try{
Thread.sleep(10 * 1000);
}catch(Exception ee){
System.out.println("Erro na execução do tempo.");
}
executeQuery();
}
Se vc for fazer essa bobagem, tem que fazer numa thread separada !!!!! na mesma thread vai travar mesmooooo!!!!
|
Fernando Franzini |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/07/2011 15:55:33
|
MarcioCasteloBranco
JavaGuru
![[Avatar]](/images/avatar/c2544f44973327effb265a6b63006cd4.jpg)
Membro desde: 14/08/2009 16:00:15
Mensagens: 220
Offline
|
Vc tera que sincronizar as threads que gerenciam o swing com a sua !
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/07/2011 15:59:21
|
MarcioCasteloBranco
JavaGuru
![[Avatar]](/images/avatar/c2544f44973327effb265a6b63006cd4.jpg)
Membro desde: 14/08/2009 16:00:15
Mensagens: 220
Offline
|
Vc pode adotar uma outra extrategia, toda vez que for feito uma alteração ou exclusão no seu BD(em sua tabela) vc pode utilizar um observe(padrao de projeto) para atualizar a sua frame.
This message was edited 1 time. Last update was at 14/07/2011 16:00:08
|
|
|
 |
|
|