В моем случае мне нужно запускать некоторые запланированные задачи (например, каждую минуту), выполняя некоторые проверки в БД и, при необходимости, некоторые подзадачи. Это не должно быть проверкой работоспособности БД!
В документации DW говорится:
«Следует отметить, что Environment имеет встроенные фабричные методы для управляемых экземпляров ExecutorService и ScheduledExecutorService. Подробности см. в LifecycleEnvironment#executorService и LifecycleEnvironment#scheduledExecutorService».
Кто-нибудь знает, как это реализовать в DW? Пытаясь поиграть с возможностями кода DW, я нашел это:
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);
Это правильный способ сделать это в DW? Кстати, работающий манекен:
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;
}
Какова цель первоначального имени и используется ли оно где-нибудь? Надеюсь, кто-то может помочь.