Bom pessoal procurei pelo google alguma forma de programar um horario para enviar emails em um certo horário (23:59) porém
não consegui achar nada que fosse muito concreto.Vi que existe o TimeTask e também o quartz.Alguém ai ja implementou algo parecido
e tem algum exemplo?
Estou disposto a receber mais dicas também.Desde já agradeço pela atenção.
Fabricio…
vc vai disparar este email por um servlet? por ex: www.empresa.com.br/emaildaemon?
Se ja estiver o email construido, e esta faltando apenas o comando, voce pode utilizar a ferramenta Crontab
Qualquer coisa, posta aqui sua duvida com mais detalhes
Não eu chamo um bat responsavel pelo envio de emails
Sim…ja fiz exatamente isso em uma aplicação web.
Usei quartz para tal…
da uma pesquisada nesse framework q é mto simples de usar.
abraços
BOM PESSOAL ACHEI AQUI NO MESMO NO GUJ O SEGUINTE CÓDIGO
[code]
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class AgendaHoraI {
Timer timer;
public AgendaHoraI() {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 15);
calendar.set(Calendar.MINUTE, 50);
calendar.set(Calendar.SECOND, 0);
Date time = calendar.getTime();
//HORA DE EXECUÇÃO : 15:42:00
timer = new Timer();
timer.schedule(new RemindTask(), time);
System.out.println("Esperando a hora de execução da tarefa");
}
class RemindTask extends TimerTask {
public void run() {
System.out.println ("DATA EXECUÇÃO = " + new java.text.SimpleDateFormat("dd/MM/yyyy").format(new java.util.Date(System.currentTimeMillis())));
timer.cancel(); //Fecha a thread timer
}
}
public static void main(String args[]) {
new AgendaHoraI();
}
}[/code]
ISSO FUNCIONA MAS SERÀ QUE ISSO SERIA PROGRAMADO PARA FAZER TODO DIA?
VLW
Cara como muitos já falaram use o Quartz com o Spring, fica muito simples e flexível fazer o que você quer.
http://static.springsource.org/spring/docs/2.5.x/reference/scheduling.html
No capítulo anterior a esse você vê como mandar email com o Spring.
Boa Tarde resolvi o que eu precisava da seguinte maneira
public class AgendaHoraI implements Runnable {
Date time;
Boolean teste;
public AgendaHoraI() {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 1);
calendar.set(Calendar.MINUTE, 9);
calendar.set(Calendar.SECOND, 00);
time = calendar.getTime();
}
@Override
public void run() {
while (true) {
if (time.equals(new Date(System.currentTimeMillis()))) {
if (teste) {
teste = false;
System.out.print("Executando a tarefa");
}
} else {
try {
Thread.sleep(10);
teste = true;
} catch (InterruptedException ex) {
Logger.getLogger(AgendaHoraI.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}
}