Java - TIMER

 
Vista:

TIMER

Publicado por reinaldo (36 intervenciones) el 07/12/2006 17:08:07
Hola nuevamente.
Quiero saber como ejecutar un codigo cada cierto tiempo, estoy haciendo una aplicacion customizable donde el usuario puede decidir cada cuanto tiempo se actualiza la Base de Datos.
He tratado de ver un codigo que implementa la clase Timer pero no se como implementarlo con mi codigo. A continuacion les coloco los 2 codigos a ver si alguien puede ayudarme con eso...
Un millon de Gracias!!!

public void cargarClave(String number){
int arg = db.ejecutarComando();
String dev = "";
String ip = "";
String puerto = "";
if (arg==0){
Errores es = new Errores();
es.mostrarRedundancia("No fue posible cargar las claves de los switches");

}else{
int conteo= 0;
Constantes cns = new Constantes();
Basico_Telnet bt = new Basico_Telnet();
conteo = db.contarTuplas(); //se obtiene el numero de registros en la tabla
try{
for(int in=0; in < conteo+1; in++){
ip=(String)db.ALip.get(in);
puerto=(String)db.ALpuerto.get(in);
System.out.println("ip "+ ip + " " + "puerto "+puerto);
dev= bt.connect(ip,puerto, number);
System.out.println(dev);
if (!(dev.equals("-1") || (dev.equals("TELEFONO NO ENCONTRADO")))){
System.exit(-1);
}
if (dev.equals("-1")){
System.out.println("Dev vale -1");
ip = "";
puerto = "";
ip=(String)db.ALip.get(in+1);
puerto=(String)db.ALpuerto.get(in+1);
System.out.println("ip "+ ip + " " + "puerto "+puerto);
dev= bt.connect(ip,puerto, number);
System.out.println(dev);
in=in+1;
if (!(dev.equals("-1") || (dev.equals("TELEFONO NO ENCONTRADO")))){
System.exit(-1);
}
}
if(dev.equals("TELEFONO NO ENCONTRADO")){
ip=(String)db.ALip.get(in+1);
puerto=(String)db.ALpuerto.get(in+1);
System.out.println("ip "+ ip + " " + "puerto "+puerto);
dev= bt.connect(ip,puerto, number);
System.out.println(dev);
in=in+1;
if (!(dev.equals("-1") || (dev.equals("TELEFONO NO ENCONTRADO")))){
System.exit(1);
}
}
else
break;
}
}catch(Exception e){
System.out.println("No fue posible realizar el seguimiento, intente de nuevo");
System.exit(0);
}
}

}

AHORA EL TIMER: (Estas clases no las he modificado puesto que no se como hacer para que se ejecute el codigo de arriba por ejemplo cada 5 minutos)

// Clases para crear el timer

class Reminder {

public Reminder(int seconds) {


timer = new Timer();
timer.schedule(new RemindTask(), seconds* 1000);
}
}
class RemindTask extends TimerTask {
public void run() {

// Si el usuario no pulsó s para finalizar se mantiene la conexion
// y se manda un equire link para dejarla activa
if (keyboardOptn.compareTo("s") !=0);
{
System.out.println("Se cancela el timer viejo");
timer.cancel(); //Terminate the timer thread
System.out.println("Tiempo agotado, se mantiene la conexion");
receive();
enquireLink();
new Reminder(7);
System.out.println("Pulse s para Finalizar?"+"\n");
}
}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder