| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/03/2010 15:20:55
|
tarssajava
What is classpath?
Membro desde: 10/03/2010 15:10:34
Mensagens: 9
Offline
|
Boa tarde caros amigos do GUJ....
Preciso de colocar dentro de uma aplicação web em java com estrutura de código baseada em servlets e jsp
um procedimento que todos os dias em um determinado horário, por exemplo as 00:00 hrs ele realize umas transações
na base de dados.
Estou usando PostgreSQL e não conheço uma forma de fazer isso usando esse SGBD.
Dentro do código java eu precisava que quando a minha aplicação web estiver rodando, o objeto que ainda não descobrí, imaginei uma Thread mas preciso da ajuda de vocês para confirmar isso, realizasse esse procedimento.
Obrigado pela atenção de todos...
This message was edited 1 time. Last update was at 10/03/2010 15:27:57
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/03/2010 15:38:47
|
Gerson da S. Lima
JavaChild
![[Avatar]](/images/avatar/c7c581b3bc5c2d2d8d1fe6e087f16780.jpg)
Membro desde: 26/03/2009 10:06:27
Mensagens: 142
Localização: Manaus
Offline
|
Que tipo de transações no banco são essa q você quer fazer.
Na empresa q trabalho utilizamos o postgresql em várias aplicações, e certos procedimento que queremos que ele faça, tipo backup, vacumm, etc, usamos o agendador de tarefas do windows.
Mas dá pra você fazer por thread também, sem problemas, também temos esse tipo de situação, em alguns sistemas utilizamos alguns agentes que coletam determinados dados e processam utilizando threads.
|
Bacharel em Ciências da Computação
Analista de Sistemas |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/03/2010 15:39:01
|
cristianogro
JavaGuru
Membro desde: 18/02/2009 15:07:23
Mensagens: 233
Localização: Curitiba
Offline
|
tarssajava wrote:Boa tarde caros amigos do GUJ....
Preciso de colocar dentro de uma aplicação web em java com estrutura de código baseada em servlets e jsp
um procedimento que todos os dias em um determinado horário, por exemplo as 00:00 hrs ele realize umas transações
na base de dados.
Estou usando PostgreSQL e não conheço uma forma de fazer isso usando esse SGBD.
Dentro do código java eu precisava que quando a minha aplicação web estiver rodando, o objeto que ainda não descobrí, imaginei uma Thread mas preciso da ajuda de vocês para confirmar isso, realizasse esse procedimento.
Obrigado pela atenção de todos...
Dá uma olhada no Quartz Framework, através dele vc pode deixar Triggers agendadas para serem rodadas no horário que vc determinar. Veja o link: http://hotwork.sourceforge.net/hotwork/manual/quartz/quartz-user-guide.html e http://www.roseindia.net/quartz/index.shtml
This message was edited 1 time. Last update was at 10/03/2010 15:39:59
|
Não se mede o valor de um homem pelas suas roupas ou pelos bens que possui, o verdadeiro valor do homem é o seu caráter, suas idéias e a nobreza dos seus ideais. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/03/2010 15:42:34
|
wchevreuil
Thread.start()
Membro desde: 18/03/2008 16:40:53
Mensagens: 31
Offline
|
Outra forma simples de fazer isso é usando as classes Timer e TimerTask do pacote java.util.
Dê uma olhada nos docs:
http://java.sun.com/j2se/1.5.0/docs/api/java/util/Timer.html
[]'s
|
scjp, scjd, scmad, scwcd, scbcd |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/03/2010 15:58:50
|
cristianogro
JavaGuru
Membro desde: 18/02/2009 15:07:23
Mensagens: 233
Localização: Curitiba
Offline
|
Se usar as classes Timer ou TimerTask chmando classe que executa uma Procedure ou Trigger certo?
|
Não se mede o valor de um homem pelas suas roupas ou pelos bens que possui, o verdadeiro valor do homem é o seu caráter, suas idéias e a nobreza dos seus ideais. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/03/2010 16:10:00
|
wchevreuil
Thread.start()
Membro desde: 18/03/2008 16:40:53
Mensagens: 31
Offline
|
é só implementar o o método Run e por as chamadas aos metodos de negocio (que executam o que ele precisar no BD), como se faz com Threads...
|
scjp, scjd, scmad, scwcd, scbcd |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/03/2010 10:18:53
|
tarssajava
What is classpath?
Membro desde: 10/03/2010 15:10:34
Mensagens: 9
Offline
|
Pessoal, estou muito grato pela atenção de todos vocês.
Isto favorece muito ao crescimento da nossa comunidade e é também uma atitude
de ajudar ao próximo.... e desesperado.... hehehe ( é a pressão do meu chefe )
Vou testar as opções que vocês me deram e postarei a que usei.
Um abraço a todos.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/03/2010 11:05:12
|
tarssajava
What is classpath?
Membro desde: 10/03/2010 15:10:34
Mensagens: 9
Offline
|
Estou querendo usar Timer ou TimerTask, olhei a especificação dessas classes e notei as tarefas de
scheduler. Meu grande problema é:
Tenho uma aplicação web baseada em servlets e jsp's.
Em que ponto dela irei instanciar as classes anteriores? Preciso de acessar um ponto de código que o container da aplicação
mantém instanciado desde o momento que a aplicação está rodando e só parará em caso de falha ou quando a aplicação parar
de funcionar.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/03/2010 11:10:27
|
tarssajava
What is classpath?
Membro desde: 10/03/2010 15:10:34
Mensagens: 9
Offline
|
Ou seja, esse objeto deve estar ativo na aplicação independente se o cliente logou ou cumpriu tal regra.
Isso é possível?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/03/2010 11:13:29
|
tarssajava
What is classpath?
Membro desde: 10/03/2010 15:10:34
Mensagens: 9
Offline
|
Dei uma olhada no qurtz framework mas não identifiquei se ele é iniciado como escreví na mensagem anterior, ou seja,
desde o inico que a aplicação " vai pro ar ".
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/03/2010 11:36:44
|
tarssajava
What is classpath?
Membro desde: 10/03/2010 15:10:34
Mensagens: 9
Offline
|
Lendo melhor sobre o quartz: .....
O principal processo do Quartz pode ser iniciado e executado dentro da sua aplicação, como uma aplicação stand-alone (com uma user interface),
ISSO QUE EU QUERIA....
ou dentro de servidor de aplicações J2EE para ser utilizado como recurso para os componentes de sua aplicação.
Queria saber se TimerTask cumpre isso ou se o quartz seria a melhor opção.
Vou ver como fazê-la no quartz..
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/03/2010 11:47:51
|
tarssajava
What is classpath?
Membro desde: 10/03/2010 15:10:34
Mensagens: 9
Offline
|
Estou pensando em usar o quartz fora da aplicação web, pois ele é independente dela e contempla
as minhas regras, mas se TimerTask pudesse ser usado seria mais rápido para eu chegar na solução.
Estou me convencendo de usar o schedule.... mas por favor, se souberem se TimerTask ou Task podem
ser usadas dentro da aplicação e instanciados desde o momento que a aplicação " vai pro ar ".
This message was edited 1 time. Last update was at 11/03/2010 12:02:28
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/03/2010 21:35:34
|
wchevreuil
Thread.start()
Membro desde: 18/03/2008 16:40:53
Mensagens: 31
Offline
|
Olá tarssajava. A API do J2EE possui algumas interfaces Listener para notificação de eventos. O cenário que vc me descreveu, parece-me que vc poderia resolver usando um ServletContextListener. É só vc implementar essa interface e colocar as chamadas ao seu TimerTask dentro do método contextInitialized.
Pesquise sobre o javax.servlet.ServletContextListener, eu acho que ele serve para o seu problema.
[]'s
|
scjp, scjd, scmad, scwcd, scbcd |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/03/2010 09:53:41
|
tarssajava
What is classpath?
Membro desde: 10/03/2010 15:10:34
Mensagens: 9
Offline
|
Ví uma solução onde eu usaria um Listener e um ejb onde estaria a implementação do TimerTask.
Mas a sua solução parece ser mais simples ainda. Vou estudá-la para o meu caso. Muito obrigado
pela atenção.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/03/2010 17:31:16
|
tarssajava
What is classpath?
Membro desde: 10/03/2010 15:10:34
Mensagens: 9
Offline
|
Perfeito, nem precisei de EJB, pois era uma tarefa muito particular e dependente da aplicaçãoWeb.
Valeu a atenção de todos.
|
|
|
 |
|
|