dei uma pesquisada sobre Threads, Quartz e etc…
mas não achei uma solução e muito menos intendi como funcionaria isso dentro de uma aplicação JSP.
tenho um site em JSP, com alguns sistemas basicos de login, usuarios e etc…
gostaria de criar um sistema que modificasse alguns valores no MySQL de hora em hora.
Do jeito que fiz, ele estaria ativando uma Thread esperando 3600 segundos, e executando a função novamente, mas com isso a pagina .JSP precisa ficar aberta o tempo todo.
Alguem me da uma luz de como devo fazer para a função ser executada sem uma pagina JSP ser aberta?
Algo que o proprio servidor execute tal metodo em determinada hora? (1:00, 2:00, 3:00 etc…)
Uma vez precisei fazer a programação de algumas ações no servidor, eu utilizei o Quartz e funcionou bem, ele tem bastante opção de configuração. Eu obtive informação sobre ele na revista Mundo Java (número 19), la tem um artigo bem interessante.
Em cima do Tomcat não vai funcionar mesmo. Terás que fazer um programa em separado que rode de tempos em tempos,senão, vai ter que ficar a servlet rodando a vida inteira.
Ou podes fazer um programa e trabalhar em junto ao cron, se estiveres no linux.
eu faria uma aplicação separada… sem ser para web (desktop mesmo)… com threads… que fizesse as atualizações desejadas no banco…
Mas não sei se essa é a melhor solução…
ouvi falar do TimerTask…
e tb vi outro topico dizendo q o Quartz seria um canhão para matar uma mosca heheh
quero algo bem simples…
hora em hora… adiciona valores no BD… rapido e facil…
esse TimerTask funciona bem?
import java.util.Timer;
import java.util.TimerTask;
public class MyTimer {
public static final long TEMPO = (1000 * 60); // atualiza o site a cada 1 minuto
public static void main(String[] args) {
System.out.println("inicio");
Timer timer = null;
if (timer == null) {
timer = new Timer();
TimerTask tarefa = new TimerTask() {
public void run() {
try {
System.out.println("Teste agendador");
//chamar metodo
} catch (Exception e) {
e.printStackTrace();
}
}
};
timer.scheduleAtFixedRate(tarefa, TEMPO, TEMPO);
}
}
}
nunca tentei faz um aplicativo DESKTOP… soh WEB mesmo
se for essa a solução…
alguem poderia me dizer onde tem um tutorial para fazer uma “interface” bem basica, apenas me mostrando quando as atualizações no meu BD vai acontecer ?
(Swing ?)