Avatar billede tl Nybegynder
07. januar 2002 - 15:10 Der er 2 kommentarer og
1 løsning

java.util.Timer reschedule.

Jeg har oprettet en java.util.Timer der fungerer fint. Programmet skal dog kunne reschedulere timingen i timer klassen, men dette lader sig ikke umdelbart gøre.

Jeg har prøvet forskellige metoder, så som at lave en ny timer oven på den gamle, og det kan man faktisk godt, men ikke uden at den gamle timer stadig kører..

Nogle ideer?

Avatar billede tl Nybegynder
07. januar 2002 - 15:14 #1
min kode ser ca. sådan ud?

public static void setTimer() {

    try {

        long timeBetweenSchedule =
            ((Integer.parseInt(conn.getProperty(\"frequency\"))) * 60 * 1000);

        long delay = 0;

        if (scheduleTimer == null) {
            scheduleTimer = new java.util.Timer();
        } else {
            System.out.println(\"Rescheduling timer:\");
            scheduleTimer.cancel();
       
           
            runSchedule = new TimerTask() {
                public void run() {
                    EventQueue.invokeLater(doSchedule);
                }
            };

            java.util.Timer scheduleTimer = new java.util.Timer();
        }

        scheduleTimer.schedule(runSchedule, 0, timeBetweenSchedule);

    } catch (Exception e) {
        System.out.println(\"Exception in setting Timer Schedule \" + e.getMessage());
        e.printStackTrace();
    }

}
Avatar billede logical Nybegynder
08. januar 2002 - 08:10 #2
Cancel den gamle og læg en ny på.
Avatar billede logical Nybegynder
08. januar 2002 - 08:17 #3
private TimerTask task=null;
private Timer timer = new Timer();

public void setTiming(long delay) {
  TimerTask moribund = task;
  task = new MyTimerTask();
  if (moribund != null) moribund.cancel();
  timer.schedule(task, 0, delay);
}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester