Ausgabe: run (Ausnahme wird ausgelöst)
Hier ist das Problem: Ich brauche eine Timer-Aufgabe, um nach bestimmten Bedingungen in der Datenbank (oder etwas anderem) zu suchen. Es funktionierte gut, aber manchmal die Datenbank (oder etwas anderes) gibt einige Fehler zurück, Ausnahme wird ausgelöst und der Timer stürzt ab, und dann wird kein einzelner Timer-Task erneut ausgeführt. Gibt es eine Timer-Implementierung, die nach der Exception weiterläuft in run()
.
Ich kann
%Vor%aber das scheint lahm.
Andere Alternative ist meine eigene Implementierung der Timer-Klasse schreiben, Schlucken von Ausnahmen der Run-Methode (die auch nicht richtig scheint).
Verwenden Sie eine ScheduledExecutorService
. Es spielt die gleiche Rolle wie Timer, behebt aber seine Schwächen (wie die, der Sie begegnen).
Mit ExecutorService;
können Sie sowohl die Kompilierzeit als auch Laufausnahmen behandeln.
Ausnahmen von Java-ExecutorService-Aufgaben behandeln
Wie wird die Ausnahmebehandlung in einem Callable