Timer - gleichen Task mehrfach planen

Status
Nicht offen für weitere Antworten.

eric

Aktives Mitglied
Hallo Forum,

ich möchte eine Aufgabe geplant durchführen lassen. Ich hab mir also meinen eigenen TimerTask geschieben, den in einen Timer gesteckt. Das geht sehr gut.
Nun will ich aber diesen Task mehrfach am Tag zu definierten Zeiten auführen lassen, bspw. immer 17:30 und 23:00. Also mache ich für jeden Zeitpunkt folgendes:
Code:
this.timer.scheduleAtFixedRate( task, firstTime, 86400000); // 1000 * 60 * 60 * 24
Das geht aber nur für einen Zeitpunkt. Wenn ich den zweiten 'schedulen' will, erhalte ich: Exception in thread "main" java.lang.IllegalStateException: Task already scheduled or cancelled. Kann mir jemand einen Tipp geben.

Grüße Eric
 

Niki

Top Contributor
Wenn du den selben Task (die selbe Instanz) noch einmal ausführen willst brauchst du einen DummyTask dazwischen:

DummyTask
Code:
import java.util.TimerTask;

public class DummyTask extends TimerTask {

	private TimerTask tt = null;

	public DummyTask(TimerTask tt) {
		this.tt = tt;
	}

	@Override
	public void run() {
		tt.run();
	}

}

eigentlicher Task
Code:
import java.util.TimerTask;

public class RunnableImpl extends TimerTask {

	public void run() {
		int delay = (int) (Math.random() * 10);
		try {
			Thread.sleep(1000 * delay);
		} catch (InterruptedException ignore) {

		}

	}

}

Main
Code:
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

public class Main {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		TimerTask tt = new RunnableImpl();
		
		Timer t = new Timer("scheduler");
		t.schedule(new DummyTask(tt),getDate(12, 30));
		
		t.schedule(new DummyTask(tt), getDate(13, 0));

	}
	
	private static Date getDate(int hour, int min){		
		Calendar cal = Calendar.getInstance();				
		cal.set(Calendar.HOUR_OF_DAY, hour);
		cal.set(Calendar.MINUTE, min);
		
		return cal.getTime();
		
	}

}
 

eric

Aktives Mitglied
Ich hab zwar selbst ne Lösung, aber deine ist eindeutig eleganter.
Ich hab mir ne zweite Instanz erzeugt. Da keine Instanzvariablen verwendet werden, ist das keine Problem. Aber ich denke das wird irgendwann zum Problem.

Danke für die klare schnelle Antwort.

Gruß Eric
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Timer terminiert nicht Allgemeine Java-Themen 5
W Timer Konzept-Frage Allgemeine Java-Themen 16
Z Timer Allgemeine Java-Themen 5
H Timer funktioniert nicht? Allgemeine Java-Themen 3
Tacofan Kurzer Timer Allgemeine Java-Themen 22
B Threads Timer wird immer schneller Allgemeine Java-Themen 6
H Consumer (Java8 Lambda) an Timer übergeben Allgemeine Java-Themen 2
wolfgang63 Best Practice Taktgeber oder Timer mit variablem Intervall Allgemeine Java-Themen 1
I Timer Allgemeine Java-Themen 1
X Timer Allgemeine Java-Themen 3
C Timer? Allgemeine Java-Themen 8
U Timer - Timertask endet nicht Allgemeine Java-Themen 4
X timer.schedule - Allgemeine Java-Themen 7
D Simpler Timer zum warten Allgemeine Java-Themen 19
H java.util.Timer und Funktion mit SQL Exception Allgemeine Java-Themen 5
G Threads Timer wird unterbrochen Allgemeine Java-Themen 20
P Java Timer Allgemeine Java-Themen 3
K Timer Thread Allgemeine Java-Themen 8
E Wie Timer anbringen mit Designer in Netbeans Allgemeine Java-Themen 5
M Ampelsteuerung über Timer in Java realisieren Allgemeine Java-Themen 3
O Timer pausieren Allgemeine Java-Themen 5
M Timer von nicht existiertem Objekt stopen Allgemeine Java-Themen 5
B util.Timer zu langsam? Allgemeine Java-Themen 3
P Java Timer Allgemeine Java-Themen 2
S Timer in Applet? Allgemeine Java-Themen 11
G Swing Timer führt Methode nicht aus Allgemeine Java-Themen 2
V Frage zu util.Timer (-> TimerTask) Allgemeine Java-Themen 2
P Swing Eine Sekunde warten (Timer) Allgemeine Java-Themen 7
E Timer class macht einfach garnichts :/ Allgemeine Java-Themen 6
T Timer oder Alternative? Allgemeine Java-Themen 3
Z Timer -> Thread jeden Tag ausführen Allgemeine Java-Themen 5
D Probleme mit einem Timer Allgemeine Java-Themen 6
D Timer oder Thread, das ist hier die Frage Allgemeine Java-Themen 3
A TimerTask - Task stoppen - timer.cancel() funktioniert nicht Allgemeine Java-Themen 8
S Problem mit einem Timer (Aktualisierung etc.) Allgemeine Java-Themen 2
B Timer übergabe Allgemeine Java-Themen 3
G Timer abbrechen und neu starten Allgemeine Java-Themen 3
G timer mit buttondruck abbrechen Allgemeine Java-Themen 7
T Timer oder ähnliches? Allgemeine Java-Themen 3
O Timer und TimerTask: Programm terminiert nicht! Allgemeine Java-Themen 3
O Thread als Timer Interrupt Allgemeine Java-Themen 2
C Timer.scheduleAtFixedRate(). Allgemeine Java-Themen 5
H gibts in Java sowas wie in Visual Basic den Timer? Allgemeine Java-Themen 5
B 24 Uhr Timer Task Allgemeine Java-Themen 5
G Timer nur 64 mal pro Sekunde? Allgemeine Java-Themen 18
S Frage zu jTDS, JAVA allgemein und Timer Allgemeine Java-Themen 6
L Problem mit Timer Allgemeine Java-Themen 7
J Timer-Objekt / Task-Zustand ermitteln Allgemeine Java-Themen 5
Thallius Verschiedene entities für gleichen Code…. Allgemeine Java-Themen 8
T Meine Frage lautet wie ich 2 CSV Dateien miteinander in Java verbinde und Spalten die zueinander gehören durch den gleichen Key zusammen ausgebe? Allgemeine Java-Themen 5
X Collections Fragen zu gleichen Elementen in TreeSet Allgemeine Java-Themen 35
S 2 methoden mit gleichen namen und ein Interface Allgemeine Java-Themen 9
O Klassen Bruch im gleichen Objekt Speichern Allgemeine Java-Themen 1
E ArrayList Anzahl der gleichen Elemente Allgemeine Java-Themen 4
G Liste anzahl der gleichen Objekte Allgemeine Java-Themen 6
L Klassen Polymorphie:2 Attribute gleichen Namens in einem Objekt Allgemeine Java-Themen 6
L Sicherstellen das 2x die gleichen Daten unter bestimmten Keys enthalten sind. Allgemeine Java-Themen 6
M verschiedene Methonden innerhalb des gleichen Threads Allgemeine Java-Themen 7
S Mappen aller Paramater der gleichen klasse Allgemeine Java-Themen 3
S Methode übergibt immer den gleichen Wert Allgemeine Java-Themen 21
reibi Classenpath mit mehreren gleichen jar-Files Allgemeine Java-Themen 7
P HashMap mit mehreren gleichen keys Allgemeine Java-Themen 4
B JUnit - Gleichen Test x-mal durchlaufen Allgemeine Java-Themen 2
M java klassen beerben u. den gleichen namen verwenden?(Naming Allgemeine Java-Themen 6
thE_29 Konsolenausgabe immer am gleichen Platz Allgemeine Java-Themen 14
A Ungleicheit von zwei gleichen Strings Allgemeine Java-Themen 3
J Eine Frage zu den Threads und Task Allgemeine Java-Themen 1
S Java-Task-Management-Tool für Windows und Mac selber programmieren Allgemeine Java-Themen 4
J Probleme exe-Start mit Task Scheduler Allgemeine Java-Themen 1
Neumi5694 Task-Name unter Windows Allgemeine Java-Themen 4
K Multithreading: Service(Task), wait und continue Allgemeine Java-Themen 21
HarleyDavidson Tomcat VS Windows Scheduled Task Allgemeine Java-Themen 4
M Ant relative Pfade im Classpath vom Jar-Task Allgemeine Java-Themen 2
B Threads Main Thread warten auf abgebrochen Task warten lassen Allgemeine Java-Themen 25
N class Task extends TimerTask ohne Blockieren Allgemeine Java-Themen 15
A wie kann man Parameter an ein Task übergeben? Allgemeine Java-Themen 3
M Ant & javadoc-Task Allgemeine Java-Themen 1
R ANT Jar Task soll leere Verzeichnisse ignorieren..? Allgemeine Java-Themen 3
G Task 1 sek nach letztem Tastendruck ausführen Allgemeine Java-Themen 2
M Java Programm als Windows XP - Task Allgemeine Java-Themen 9
D javaw.exe in task manager Allgemeine Java-Themen 6
C zyklisch Bsp. 1x pro Tag - morgens Task ausführen Allgemeine Java-Themen 14

Ähnliche Java Themen

Neue Themen


Oben