Lautsprecher
Erfahrenes Mitglied
Hi,
ich möchte später mal jede volle Stunde meine Datenbank checken und gegebenenfalls ein Update ausführe. Momentan bin ich noch am Testen und Üben ob es überhaupt funktioniert.
Ich habe mir dafür folgende Methode ausgedacht:
Zum Prüfen ob's überhaupt geht, wollte ich jede Minute eine Consolen-Meldung ausgeben.
Den Schalter checked setzte ich damit die Ausgabe nur 1 x kommt. Zuvor hatte ich immer das Problem, wenn die If-Bedigung mit der Zeit übereinstimmt..... -> Es eine
Endlos-Ausgabe in der Console gab.
Jetzt jedoch habe ich das Problem, dass es nur in der 1. Minute klappt, danach komme ich nicht mehr in meine if-Schleife (!checked) was ja logisch ist. Ich habe auch schon versucht unter checked = true noch einen schalter = false für die while-Schleife einzubauen. und dann über sanduhr.start() diesen Schalter wieder auf true zu setzen.
Jedoch wird die while-Schleife nicht mehr aufgerufen.
Weiß vielleicht jemand wo noch der Wurm drin ist
Danke
ich möchte später mal jede volle Stunde meine Datenbank checken und gegebenenfalls ein Update ausführe. Momentan bin ich noch am Testen und Üben ob es überhaupt funktioniert.
Ich habe mir dafür folgende Methode ausgedacht:
Code:
/*Dekl. in der Klasse */
public int wakeHour = 0;
public int wakeMinute = 0;
public final int wakeSecond = 30;
public void arbeitszeitcheck()
{
Thread sanduhr = new Thread()
{
public void run()
{
boolean checked = false;
boolean schleife = true;
while (schleife)
{
Calendar cal = new GregorianCalendar();
wakeHour = cal.get(Calendar.HOUR_OF_DAY);
wakeMinute = cal.get(Calendar.MINUTE);
cal.setTime(new Date());
if(cal.get(Calendar.HOUR_OF_DAY) == wakeHour &&
cal.get(Calendar.MINUTE) == wakeMinute && cal.get(Calendar.SECOND) == wakeSecond)
{
if (!checked)
{
System.out.println("ES GEHT, JUHU DA WAHNSINN !!");
checked = true;
}
}
}
};
sanduhr.start();
pack();
}
Zum Prüfen ob's überhaupt geht, wollte ich jede Minute eine Consolen-Meldung ausgeben.
Den Schalter checked setzte ich damit die Ausgabe nur 1 x kommt. Zuvor hatte ich immer das Problem, wenn die If-Bedigung mit der Zeit übereinstimmt..... -> Es eine
Endlos-Ausgabe in der Console gab.
Jetzt jedoch habe ich das Problem, dass es nur in der 1. Minute klappt, danach komme ich nicht mehr in meine if-Schleife (!checked) was ja logisch ist. Ich habe auch schon versucht unter checked = true noch einen schalter = false für die while-Schleife einzubauen. und dann über sanduhr.start() diesen Schalter wieder auf true zu setzen.
Jedoch wird die while-Schleife nicht mehr aufgerufen.
Weiß vielleicht jemand wo noch der Wurm drin ist
Danke