Class ScheduledAssistant

java.lang.Object
ru.gentoos.ehouse.assistant.ScheduledAssistant
All Implemented Interfaces:
ManagedAssistant

public final class ScheduledAssistant extends Object implements ManagedAssistant
Периодический запуск ассистента (порт e_lib.assistants.scheduled.ScheduledAssistant).

Первый запуск — немедленно при start(), далее — каждые intervalSeconds секунд (fixed-delay: следующий запуск планируется после завершения предыдущего). Ошибки цикла логируются и не останавливают планировщик. stop() отменяет ожидающий запуск.

  • Constructor Summary

    Constructors
    Constructor
    Description
    ScheduledAssistant(Assistant assistant, long intervalSeconds, ScheduledExecutorService executor)
    Создаёт планировщик.
  • Method Summary

    Modifier and Type
    Method
    Description
    Имя оборачиваемого ассистента.
    boolean
    Запущен ли планировщик.
    void
    Запускает планировщик (повторный запуск игнорируется).
    void
    Останавливает планировщик (отменяет ожидающий запуск).

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ScheduledAssistant

      public ScheduledAssistant(Assistant assistant, long intervalSeconds, ScheduledExecutorService executor)
      Создаёт планировщик.
      Parameters:
      assistant - оборачиваемый ассистент
      intervalSeconds - интервал между запусками, сек.
      executor - общий планировщик приложения
  • Method Details

    • getName

      public String getName()
      Имя оборачиваемого ассистента.
    • start

      public void start()
      Запускает планировщик (повторный запуск игнорируется).
      Specified by:
      start in interface ManagedAssistant
    • stop

      public void stop()
      Останавливает планировщик (отменяет ожидающий запуск).
      Specified by:
      stop in interface ManagedAssistant
    • isRunning

      public boolean isRunning()
      Запущен ли планировщик.