Wie kann mit der neuen Java 1.8 Time Api einmal am Tag um Mitternacht ein Ereignis erzeugt werden? Natürlich geht auch jeder andere Zeitpunkt, aber hier mal das Beispiel um Mitternacht:
1 2 3 4 5 6 |
// Plant die Ausführungen ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1); // einmal am Tag um Mitternacht Long mitternacht = LocalDateTime.now().until(LocalDate.now().plusDays(1).atStartOfDay(), ChronoUnit.MINUTES); // und los.. scheduler.scheduleAtFixedRate(new AnzahlProTagAction(flugInfosProTag, parameter), mitternacht, 1440, TimeUnit.MINUTES); |
Hier die Beispiel Klasse.
Wichtig ist das sie von TimerTask
ableitet und die run()
Methode überschreibt.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
public class AnzahlProTagAction extends TimerTask { private Parameter parameter; private FlugInfosProTag flugInfosProTag; public AnzahlProTagAction(FlugInfosProTag flugInfosProTag, Parameter parameter) { this.flugInfosProTag = flugInfosProTag; this.parameter = parameter; } @Override public void run() { // hier der auszuführende Code } } |