Как мне отслеживать действия, которые были выполнены из запланированного задания quartz?

#java #spring-boot #quartz-scheduler #scheduledexecutorservice

Вопрос:

Я создал кварцевый планировщик на каждые 15 минут, предположим, что он начинается в 06:00:00 и заканчивается в 18:00:00, как указано ниже

 final SchedulerFactory schedulerFactory = new StdSchedulerFactory();
final Scheduler jobScheduler = schedulerFactory.getScheduler();
jobScheduler.start();
final Date startAt = DateBuilder.dateOf(6, 0, 0);
final Date endAt = DateBuilder.dateOf(18, 0, 0);
final JobDetail watchDog = JobBuilder.newJob(MonitorRunner.class).withIdentity("WatchDog15", "WatchDog").build();
final Trigger watchDogTrigger = TriggerBuilder.newTrigger().withIdentity("WatchDog15", "WatchDog")
    .startAt(startAt).endAt(endAt)
    .withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInMinutes(15).repeatForever()).build();
jobScheduler.scheduleJob(watchDog, watchDogTrigger);
 

Задания запускаются каждые пятнадцать минут без каких-либо проблем. Теперь у меня есть класс MonitorRunner, в котором есть некоторые действия, которые необходимо выполнить в течение следующих 15 минут с интервалом в 1 секунду.

 public class MonitorRunner implements Job
{
    @Override
    public void execute(final JobExecutionContext context) throws JobExecutionException
    {
        System.out.println("Job Started @"   Calendar.getInstance().getTime());
        final ScheduledExecutorService execService = Executors.newScheduledThreadPool(1);
        execService.scheduleAtFixedRate(() -> {
            System.out.println("Poll for Status");
        }, 0, 1, TimeUnit.SECONDS);
    }
}
 
  1. Является ли это правильным подходом?
  2. Вызывает ли это службу исполнителя для каждого расписания quartz?