T.M. SoftStudio

feci quod potui, faciant meliora potentes

Класс Service<V>

Абстрактный класс Service<V> реализует интерфейсы Worker<V> и javafx.event.EventTarget и обеспечивает создание и запуск объекта Task, а также отображение свойств выполнения фоновой задачи в основном потоке JavaFX-приложения.

Конкретные реализации абстрактного класса Service<V> должны переопределять его метод createTask(), отвечающий за создание фоновой задачи Task.

В отличие от объекта Task, объект Service является повторно используемым, так как методы класса Service<V> позволяют сбросить и перезапустить объект Service.

Класс Service<V> имеет следующие свойства, конструкторы и методы:

  • Свойство state – поле перечисления javafx.concurrent.Worker.State, указывающее состояние выполнения задачи в фоновом потоке. Перечисление Worker.State имеет следующие поля:

  • public static final Worker.State READY – выполнение задачи готово к запуску.

  • public static final Worker.State SCHEDULED – выполнение задачи запланировано к запуску, но еще не запущено.

  • public static final Worker.State RUNNING – выполнение задачи запущено.

  • public static final Worker.State SUCCEEDED – задача выполнена успешно.

  • public static final Worker.State CANCELLED – выполнение задачи прервано.

  • public static final Worker.State FAILED – при выполнении задачи произошла ошибка.

  • Свойство value – результат выполнения задачи.

  • Свойство exception – объект java.lang.Throwable ошибки выполнения задачи.

  • Свойство workDone – текущее количественное выполнение задачи от -1 до totalWork.

  • Свойство totalWork – максимальное количественное выполнение задачи.

  • Свойство progress – текущее процентное выполнение задачи.

  • Свойство running – если true, тогда состояние выполнения задачи SCHEDULED или RUNNING.

  • Свойство message – сообщение, связанное с текущим состоянием выполнения задачи.

  • Свойство title – заголовок данной задачи.

  • Свойство executor – объект java.util.concurrent.Executor, отвечающий за работу данного объекта Service.

  • Свойство onReadyProperty – объект ObjectProperty<EventHandler<WorkerStateEvent>>, обертывающий обработчик состояния READY выполнения задачи.

  • Свойство onScheduledProperty – объект ObjectProperty<EventHandler<WorkerStateEvent>>, обертывающий обработчик состояния SCHEDULED выполнения задачи.

  • Свойство onRunningProperty – объект ObjectProperty<EventHandler<WorkerStateEvent>>, обертывающий обработчик состояния RUNNING выполнения задачи.

  • Свойство onSucceededProperty – объект ObjectProperty<EventHandler<WorkerStateEvent>>, обертывающий обработчик состояния SUCCEEDED выполнения задачи.

  • Свойство onCancelledProperty – объект ObjectProperty<EventHandler<WorkerStateEvent>>, обертывающий обработчик состояния CANCELLED выполнения задачи.

  • Свойство onFailedProperty – объект ObjectProperty<EventHandler<WorkerStateEvent>>, обертывающий обработчик состояния FAILED выполнения задачи.

  • Конструктор protected Service().

  • Метод public final Worker.State getState() – возвращает текущее состояние выполнения задачи.

  • Метод public final ReadOnlyObjectProperty<Worker.State> stateProperty() – возвращает JavaFX Beans свойство текущего состояния выполнения задачи.

  • Метод public final V getValue() – возвращает результат выполнения задачи.

  • Метод public final ReadOnlyObjectProperty<V> valueProperty() – возвращает JavaFX Beans свойство результата выполнения задачи.

  • Метод public final java.lang.Throwable getException() – возвращает ошибку выполнения задачи.

  • Метод public final ReadOnlyObjectProperty<java.lang.Throwable> exceptionProperty() – возвращает JavaFX Beans свойство ошибки выполнения задачи.

  • Метод public final double getWorkDone() – возвращает текущее количественное выполнение задачи от -1 до totalWork.

  • Метод public final ReadOnlyDoubleProperty workDoneProperty() – возвращает JavaFX Beans свойство текущего количественного выполнения задачи.

  • Метод public final double getTotalWork() – возвращает максимальное количественное выполнение задачи.

  • Метод public final ReadOnlyDoubleProperty totalWorkProperty() – возвращает JavaFX Beans свойство максимального количественного выполнения задачи.

  • Метод public final double getProgress() – возвращает текущее процентное выполнение задачи.

  • Метод public final ReadOnlyDoubleProperty progressProperty() – возвращает JavaFX Beans свойство текущего процентного выполнения задачи.

  • Метод public final boolean isRunning() – возвращает true, если выполнение задачи имеет статус SCHEDULED или RUNNING.

  • Метод public final ReadOnlyBooleanProperty runningProperty() – возвращает JavaFX Beans свойство статуса выполнения задачи SCHEDULED или RUNNING.

  • Метод public final java.lang.String getMessage() – возвращает сообщение, связанное с текущим состоянием выполнения задачи.

  • Метод public final ReadOnlyStringProperty messageProperty() – возвращает JavaFX Beans свойство сообщения, связанного с текущим состоянием выполнения задачи.

  • Метод public final java.lang.String getTitle() – возвращает заголовок данной задачи.

  • Метод public final ReadOnlyStringProperty titleProperty() – возвращает JavaFX Beans свойство заголовка данной задачи.

  • Метод public final boolean cancel() – прерывает выполнение задачи.

  • Метод public final void setExecutor(java.util.concurrent.Executor value) – устанавливает объект java.util.concurrent.Executor, отвечающий за работу данного объекта Service.

  • Метод public final java.util.concurrent.Executor getExecutor() – возвращает объект java.util.concurrent.Executor, отвечающий за работу данного объекта Service.

  • Метод public final ObjectProperty<java.util.concurrent.Executor> executorProperty() – возвращает JavaFX Beans свойство объекта java.util.concurrent.Executor, отвечающего за работу данного объекта Service.

  • Метод public final ObjectProperty<EventHandler<WorkerStateEvent>> onReadyProperty() – возвращает объект ObjectProperty<EventHandler<WorkerStateEvent>>, обертывающий обработчик состояния READY выполнения задачи.

  • Метод public final EventHandler<WorkerStateEvent> getOnReady() – возвращает обработчик состояния READY выполнения задачи.

  • Метод public final void setOnReady(EventHandler<WorkerStateEvent> value) – устанавливает обработчик состояния READY выполнения задачи.

  • Метод public final ObjectProperty<EventHandler<WorkerStateEvent>> onScheduledProperty() – возвращает объект ObjectProperty<EventHandler<WorkerStateEvent>>, обертывающий обработчик состояния SCHEDULED выполнения задачи.

  • Метод public final EventHandler<WorkerStateEvent> getOnScheduled() – возвращает обработчик состояния SCHEDULED выполнения задачи.

  • Метод public final void setOnScheduled(EventHandler<WorkerStateEvent> value) – устанавливает обработчик состояния SCHEDULED выполнения задачи.

  • Метод public final ObjectProperty<EventHandler<WorkerStateEvent>> onRunningProperty() – объект ObjectProperty<EventHandler<WorkerStateEvent>>, обертывающий обработчик состоянияRUNNING выполнения задачи.

  • Метод public final EventHandler<WorkerStateEvent> getOnRunning() – возвращает обработчик состояния RUNNING выполнения задачи.

  • Метод public final void setOnRunning(EventHandler<WorkerStateEvent> value) – устанавливает обработчик состояния RUNNING выполнения задачи.

  • Метод public final ObjectProperty<EventHandler<WorkerStateEvent>> onSucceededProperty() – возвращает объект ObjectProperty<EventHandler<WorkerStateEvent>>, обертывающий обработчиксостояния SUCCEEDED выполнения задачи.

  • Метод public final EventHandler<WorkerStateEvent> getOnSucceeded() – возвращает обработчик состояния SUCCEEDED выполнения задачи.

  • Метод public final void setOnSucceeded(EventHandler<WorkerStateEvent> value) – устанавливает обработчик состояния SUCCEEDED выполнения задачи.

  • Метод public final ObjectProperty<EventHandler<WorkerStateEvent>> onCancelledProperty() – возвращает объект ObjectProperty<EventHandler<WorkerStateEvent>>, обертывающий обработчиксостояния CANCELLED выполнения задачи.

  • Метод public final EventHandler<WorkerStateEvent> getOnCancelled() – возвращает обработчик состояния CANCELLED выполнения задачи.

  • Метод public final void setOnCancelled(EventHandler<WorkerStateEvent> value) – устанавливает обработчик состояния CANCELLED выполнения задачи.

  • Метод public final ObjectProperty<EventHandler<WorkerStateEvent>> onFailedProperty() – возвращает объект ObjectProperty<EventHandler<WorkerStateEvent>>, обертывающий обработчиксостояния FAILED выполнения задачи.

  • Метод public final EventHandler<WorkerStateEvent> getOnFailed() – возвращает обработчик состояния FAILED выполнения задачи.

  • Метод public final void setOnFailed(EventHandler<WorkerStateEvent> value) – устанавливает обработчик состояния FAILED выполнения задачи.

  • Метод public void restart() – перезапускает объект Service.

  • Метод public void reset() – сбрасывает объект Service в статусе SUCCEEDED, FAILED или CANCELLED.

  • Метод public void start() – запускает объект Service.

  • Метод public final <T extends Event> void addEventHandler(EventType<T> eventType, EventHandler<? super T> eventHandler) – регистрирует обработчик событий задачи.

  • Метод public final <T extends Event> void removeEventHandler(EventType<T> eventType, EventHandler<? super T> eventHandler) – удаляет обработчик событий задачи.

  • Метод public final <T extends Event> void addEventFilter(EventType<T> eventType, EventHandler<? super T> eventFilter) – регистрирует фильтр событий задачи.

  • Метод public final <T extends Event> void removeEventFilter(EventType<T> eventType, EventHandler<? super T> eventFilter) – удаляет фильтр событий задачи.

  • Метод public EventDispatchChain buildEventDispatchChain(EventDispatchChain tail) – определяет цепочку адресации событий.

  • Метод protected abstract Task createTask() – создает фоновую задачу Task.

Абстрактный класс ScheduledService<V> расширяет класс Service<V> и представляет сервис, который автоматически перезагрузится после успешного выполнения задачи и при некоторых условиях перезагрузится в случае возникновения ошибки выполнения задачи.

Класс ScheduledService<V> имеет следующие свойства, конструкторы и методы:

  • Свойство delayProperty - первоначальная задержка между первым запуском и началом работы.

  • Свойство periodProperty - минимальное количество времени между последним запуском и следующим запуском.

  • Свойство backoffStrategyProperty - количество времени, добавляемое к периоду при каждой ошибке.

  • Свойство restartOnFailureProperty - если true, тогда сервис автоматически перезагружается при возникновении ошибки выполнения задачи.

  • Свойство maximumFailureCountProperty - максимальное количество попыток перезапуска при возникновении ошибки.

  • Свойство currentFailureCountProperty - текущее число попыток перезапуска при возникновении ошибки.

  • Свойство cumulativePeriodProperty - текущий совокупный период между перезапусками.

  • Свойство maximumCumulativePeriodProperty - верхняя граница совокупного периода.

  • Свойство lastValueProperty - последнее удачно вычисленное значение свойства.

  • Поле public static final Callback<ScheduledService<?>,Duration> EXPONENTIAL_BACKOFF_STRATEGY - период вычисляется по формуле {@code period + (period * Math.exp(currentFailureCount))).

  • Поле public static final Callback<ScheduledService<?>,Duration> LOGARITHMIC_BACKOFF_STRATEGY - период вычисляется по формуле {@code period + (period * Math.log1p(currentFailureCount))).

  • Поле public static final Callback<ScheduledService<?>,Duration> LINEAR_BACKOFF_STRATEGY - период вычисляется по формуле {@code period + (period * currentFailureCount).

  • Конструктор public ScheduledService()

  • Метод public final Duration getDelay(), public final void setDelay(Duration value), public final ObjectProperty<Duration> delayProperty() - возвращает и устанавливает задержку.

  • Метод public final Duration getPeriod(), public final void setPeriod(Duration value), public final ObjectProperty<Duration> periodProperty() - возвращает и устанавливает период.

  • Метод public final Callback<ScheduledService<?>,Duration> getBackoffStrategy(), public final void setBackoffStrategy(Callback<ScheduledService<?>,Duration> value), public final ObjectProperty<Callback<ScheduledService<?>,Duration>> backoffStrategyProperty() - возвращает и устанавливает количество времени, добавляемое к периоду при каждой ошибке.

  • Метод public final boolean getRestartOnFailure(), public final void setRestartOnFailure(boolean value), public final BooleanProperty restartOnFailureProperty() - возвращает и устанавливает свойство автоматической перезагрузки при возникновении ошибки выполнения задачи.

  • Метод public final int getMaximumFailureCount(), public final void setMaximumFailureCount(int value), public final IntegerProperty maximumFailureCountProperty() - возвращает и устанавливает свойство максимального количества попыток перезапуска при возникновении ошибки.

  • Метод public final int getCurrentFailureCount(), public final ReadOnlyIntegerProperty currentFailureCountProperty() - возвращает текущее число попыток перезапуска при возникновении ошибки.

  • Метод public final Duration getCumulativePeriod(), public final ReadOnlyObjectProperty<Duration> cumulativePeriodProperty() - возвращает текущий совокупный период между перезапусками.

  • Метод public final Duration getMaximumCumulativePeriod(), public final void setMaximumCumulativePeriod(Duration value), public final ObjectProperty<Duration> maximumCumulativePeriodProperty() - возвращает и устанавливает верхнюю границу совокупного периода.

  • Метод public final V getLastValue(), public final ReadOnlyObjectProperty<V> lastValueProperty() - возвращает последнее удачно вычисленное значение свойства.