Nel mio caso è necessario eseguire alcune attività pianificate (ad esempio ogni minuto) eseguendo alcuni controlli in DB e, se necessario, alcune attività secondarie. Questo dovrebbe essere nessun controllo sanitario del DB!Dropwizard ScheduledExecutorService
documentazione DW dice:
"Va notato che l'ambiente è dotato di metodi di fabbrica per istanze ExecutorService e ScheduledExecutorService che sono gestito Vedi LifecycleEnvironment # ExecutorService e LifecycleEnvironment # scheduledExecutorService per i dettagli.. "
Qualcuno sa come implementarlo in DW? Cercando di giocare con le possibilità codice DW, ho trovato questo:
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);
E 'questo il modo corretto di DW per fare questo? BTW un manichino eseguibile:
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;
}
Che cosa è lo scopo del nome iniziale e viene usato da qualche parte? Spero che qualcuno possa aiutarti.