In meinem Fall muss ich einige geplante Aufgaben ausführen (z. B. jede Minute), einige Überprüfungen in DB und wenn nötig einige Unteraufgaben. Dies sollte kein DB-Health-Check sein!Dropwizard ScheduledExecutorService
DW Dokumentation sagt:
„Es sollte beachtet werden, dass Umwelt Factory-Methoden in Einbau für hat ExecutorService und ScheduledExecutorService Instanzen, die verwaltet werden, finden Sie LifecycleEnvironment # ExecutorService und LifecycleEnvironment # ScheduledExecutorService für weitere Einzelheiten.. "
Kann jemand dies in DW implementieren? Der Versuch, mit DW-Code Möglichkeiten zu spielen, um, fand ich diese:
String nameFormat = "?What should this string contain?";
ScheduledExecutorServiceBuilder sesBuilder = environment.lifecycle().scheduledExecutorService(nameFormat);
ScheduledExecutorService ses = sesBuilder.build();
Runnable alarmTask = new AlarmTask();
ses.scheduleWithFixedDelay(alarmTask, 0, 5, TimeUnit.SECONDS);
Ist dies der richtige Weg in DW dies zu tun? BTW ein lauffähiges Dummy:
private static final class AlarmTask implements Runnable {
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Calendar cal = Calendar.getInstance();
@Override public void run() {
++fCount;
cal = Calendar.getInstance();
System.out.println(fCount + "x BEEP:" + dateFormat.format(cal.getTime()));
}
private int fCount;
}
Was ist der Zweck des ursprünglichen Namens und wird es irgendwo verwendet? Hoffe jemand kann helfen.