- java.lang.Object
-
- javafx.concurrent.Service<V>
-
- javafx.concurrent.ScheduledService<V>
-
- Параметры типа:
-
V- Вычисленное значение ScheduledService
- Все реализованные интерфейсы:
-
Worker<V>,EventTarget
public abstract class ScheduledService<V> extends Service<V>
ScheduledService — это
Service, который автоматически перезапускается после успешного выполнения и в некоторых случаях перезапускается даже в случае ошибки. Новый ScheduledService начинается в состоянии READY, как и обычный Service. После вызоваstartилиrestartScheduledService переходит в состояние SCHEDULED на срок, указанный вdelay.После перехода в состояние RUNNING ScheduledService выполняет свой Task. При успешном завершении ScheduledService переходит в состояние SUCCEEDED, а затем в состояние READY и обратно в состояние SCHEDULED. Время, в течение которого ScheduledService остается в этом состоянии, зависит от времени между последним переходом в состояние RUNNING и текущим временем, и от
period. Короче говоря,periodопределяет минимальное время с начала одного выполнения до начала следующего. Если предыдущее выполнение завершилось до истеченияperiod, то ScheduledService останется в состоянии SCHEDULED до истечения этого периода. Если же выполнение заняло больше времени, чем указанный период, ScheduledService сразу же переходит в состояние RUNNING.Если во время выполнения в состоянии RUNNING Task ScheduledService вызывает ошибку или каким-либо иным образом переходит в состояние FAILED, то ScheduledService либо перезапустится, либо завершится, в зависимости от значений
backoffStrategy,restartOnFailureиmaximumFailureCount.Если возникает ошибка и
restartOnFailureложно, то ScheduledService перейдет в состояние FAILED и остановится. Чтобы перезапустить неисправный ScheduledService, необходимо вызвать restart вручную.Если ошибка возникает и
restartOnFailureистинно, то ScheduledService может автоматически перезапуститься. Сначала результат вызоваbackoffStrategyстанет новымcumulativePeriod. Таким образом, после каждой ошибки вы можете заставить службу ждать всё большего и большего периода времени перед перезапуском. После успешного завершения задачи cumulativePeriod сбрасывается до значенияperiod.ScheduledService определяет статические реализации EXPONENTIAL_BACKOFF_STRATEGY и LOGARITHMIC_BACKOFF_STRATEGY, из которых LOGARITHMIC_BACKOFF_STRATEGY является значением по умолчанию для backoffStrategy. После достижения
maximumFailureCountScheduledService перейдет в состояние FAILED точно так же, как если быrestartOnFailureбыло ложным.Если
ScheduledService обычно используется для случаев использования, которые включают опросы. Например, вы можете регулярно посылать запрос на сервер, чтобы проверить наличие обновлений. Такой ScheduledService может быть реализован следующим образом:periodилиdelayизменяются во время работы ScheduledService, новые значения будут учтены при следующей итерации. Например, еслиperiodувеличено, то при следующем переходе ScheduledService в состояние SCHEDULED будет использовано новое значениеperiod. Аналогично, еслиdelayизменено, новое значение будет учтено при следующем перезапуске или сбросе/запуске.
Этот пример будет посылать запрос на удаленный сервер каждые 1 секунду.ScheduledService<Document> svc = new ScheduledService<Document>() { protected Task<Document> createTask() { return new Task<Document>() { protected Document call() { // Connect to a Server // Get the XML document // Parse it into a document return document; } }; } }; svc.setPeriod(Duration.seconds(1));Точность времени для этого класса не является абсолютной. Очень загруженный поток событий может ввести некоторую задержку в начало выполнения фонового Task, поэтому очень малые значения для периода или задержки могут быть неточны. Задержка или период в сотни миллисекунд или более должны быть достаточно надежными.
ScheduledService в его стандартной конфигурации имеет значение по умолчанию
period0 и значение по умолчаниюdelay0. Это приведет к выполнению задачи ScheduledService сразу послеService.start()и повторному выполнению сразу после успешного завершения.В целях этого класса любой Duration, отвечающий true на
Duration.isUnknown(), будет обрабатываться как Duration.ZERO. Аналогично, любой Duration, отвечающий true наDuration.isIndefinite(), будет обрабатываться как Duration с значением Double.MAX_VALUE миллисекунд. Любой null Duration обрабатывается как Duration.ZERO. Любая пользовательская реализация обратного вызова стратегии backoff должна быть готова к обработке этих различных возможных значений.ScheduledService добавляет новое свойство, называемое
Примечание для разработчика: МетодыlastValue. lastValue — это значение, которое было последним успешно вычислено. Поскольку Service очищает свойствоvalueпри каждом запуске, а ScheduledService запланирует повторное выполнение сразу после завершения (если он не перешел в состояния cancelled или failed), свойство value не очень полезно для ScheduledService. В большинстве случаев вы захотите вместо этого использовать значение, возвращаемое lastValue.Service.ready(),Service.scheduled(),Service.running(),succeeded(),Service.cancelled()иfailed()реализованы в этом классе. Подклассы, которые также переопределяют эти методы, должны позаботиться о вызове реализации суперкласса.- Since:
- JavaFX 8.0
-
Краткое описание свойств
Свойства Тип Свойство Описание ObjectProperty<Callback<ScheduledService<?>,Duration>>backoffStrategyВычисляет количество времени, добавляемое к периоду при каждой ошибке.ReadOnlyObjectProperty<Duration>cumulativePeriodТекущий накопительный период, используемый между итерациями.ReadOnlyIntegerPropertycurrentFailureCountТекущее количество раз, когда ScheduledService завершился ошибкой.ObjectProperty<Duration>delayНачальная задержка между началом работы ScheduledService и началом его выполнения.ReadOnlyObjectProperty<V>lastValueПоследнее успешно вычисленное значение.ObjectProperty<Duration>maximumCumulativePeriodМаксимальное разрешенное значение для cumulativePeriod.IntegerPropertymaximumFailureCountМаксимальное количество раз, когда ScheduledService может завершиться ошибкой, прежде чем перейдет в состояние FAILED.ObjectProperty<Duration>periodМинимальное время, которое должно быть между окончанием последнего выполнения и началом следующего.BooleanPropertyrestartOnFailureУказывает, должен ли ScheduledService автоматически перезапускаться в случае ошибки в задаче.
-
Краткое описание вложенных классов
-
Наследованные вложенные классы/интерфейсы от интерфейса javafx.concurrent.Worker
Worker.State
-
-
Краткое описание полей
Поля Модификатор и тип Поле Описание static Callback<ScheduledService<?>,Duration>EXPONENTIAL_BACKOFF_STRATEGYРеализация Callback для свойстваbackoffStrategy, которая экспоненциально увеличивает задержку между повторными запусками при ошибке.static Callback<ScheduledService<?>,Duration>LINEAR_BACKOFF_STRATEGYРеализация Callback для свойстваbackoffStrategy, которая линейно увеличивает задержку между повторными запусками при ошибке.static Callback<ScheduledService<?>,Duration>LOGARITHMIC_BACKOFF_STRATEGYРеализация Callback для свойстваbackoffStrategy, которая логарифмически увеличивает задержку между повторными запусками при ошибке.
-
Краткое описание конструкторов
Конструкторы Конструктор Описание ScheduledService()
-
Краткое описание методов
Все методыМетоды экземпляраКонкретные методы Модификатор и тип Метод Описание ObjectProperty<Callback<ScheduledService<?>,Duration>>backoffStrategyProperty()Вычисляет время, которое нужно добавить к периоду при каждой ошибке.booleancancel()Отменяет любой текущий выполняемый процесс и останавливает эту запланированную службу, так что больше итераций не произойдёт.ReadOnlyObjectProperty<Duration>cumulativePeriodProperty()Текущий кумулятивный период, используемый между итерациями.ReadOnlyIntegerPropertycurrentFailureCountProperty()Текущее количество раз, когда ScheduledService завершился ошибкой.ObjectProperty<Duration>delayProperty()Начальная задержка между запуском ScheduledService и началом его работы.protected voidexecuteTask(Task<V> task)Используетexecutor, определённое для этой службы, для выполнения заданной задачи.protected voidfailed()Защищённый вспомогательный метод для подклассов, вызываемый, когда состояние службы переходит в состояние FAILED.Callback<ScheduledService<?>,Duration>getBackoffStrategy()Возвращает значение свойства backoffStrategy.DurationgetCumulativePeriod()Возвращает значение свойства cumulativePeriod.intgetCurrentFailureCount()Возвращает значение свойства currentFailureCount.DurationgetDelay()Возвращает значение свойства delay.VgetLastValue()Возвращает значение свойства lastValue.DurationgetMaximumCumulativePeriod()Возвращает значение свойства maximumCumulativePeriod.intgetMaximumFailureCount()Возвращает значение свойства maximumFailureCount.DurationgetPeriod()Возвращает значение свойства period.booleangetRestartOnFailure()Возвращает значение свойства restartOnFailure.ReadOnlyObjectProperty<V>lastValueProperty()Последнее успешно вычисленное значение.ObjectProperty<Duration>maximumCumulativePeriodProperty()Максимально допустимое значение для cumulativePeriod.IntegerPropertymaximumFailureCountProperty()Максимальное количество ошибок, которые ScheduledService может иметь, прежде чем перейти в состояние FAILED.ObjectProperty<Duration>periodProperty()Минимальное время, которое должно пройти между окончанием последнего выполнения и началом следующего.voidreset()Сбрасывает состояние службы.BooleanPropertyrestartOnFailureProperty()Указывает, должна ли ScheduledService автоматически перезапускаться в случае ошибки в задаче.voidsetBackoffStrategy(Callback<ScheduledService<?>,Duration> value)Устанавливает значение свойства backoffStrategy.voidsetDelay(Duration value)Устанавливает значение свойства delay.voidsetMaximumCumulativePeriod(Duration value)Устанавливает значение свойства maximumCumulativePeriod.voidsetMaximumFailureCount(int value)Устанавливает значение свойства maximumFailureCount.voidsetPeriod(Duration value)Устанавливает значение свойства period.voidsetRestartOnFailure(boolean value)Устанавливает значение свойства restartOnFailure.protected voidsucceeded()Защищённый вспомогательный метод для подклассов, вызываемый, когда состояние службы переходит в состояние SUCCEEDED.-
Наследованные методы от класса javafx.concurrent.Service
addEventFilter, addEventHandler, buildEventDispatchChain, cancelled, createTask, exceptionProperty, executorProperty, fireEvent, getException, getExecutor, getMessage, getOnCancelled, getOnFailed, getOnReady, getOnRunning, getOnScheduled, getOnSucceeded, getProgress, getState, getTitle, getTotalWork, getValue, getWorkDone, isRunning, messageProperty, onCancelledProperty, onFailedProperty, onReadyProperty, onRunningProperty, onScheduledProperty, onSucceededProperty, progressProperty, ready, removeEventFilter, removeEventHandler, restart, running, runningProperty, scheduled, setEventHandler, setExecutor, setOnCancelled, setOnFailed, setOnReady, setOnRunning, setOnScheduled, setOnSucceeded, start, stateProperty, titleProperty, totalWorkProperty, valueProperty, workDoneProperty
-
-
Подробности свойств
-
delay
public final ObjectProperty<Duration> delayProperty
Начальная задержка между запуском ScheduledService и началом его работы. Это количество времени, в течение которого ScheduledService будет находиться в состоянии SCHEDULED, прежде чем перейти в состояние RUNNING после нового вызоваService.start()илиService.restart().- См. также:
-
getDelay(),setDelay(Duration)
-
period
public final ObjectProperty<Duration> periodProperty
Минимальное время, которое должно пройти между завершением последнего выполнения и началом следующего. Фактическое время выполнения (также известное какcumulativePeriod) будет зависеть от этого свойства, а также отbackoffStrategyи числа ошибок.- См. также:
-
getPeriod(),setPeriod(Duration)
-
backoffStrategy
public final ObjectProperty<Callback<ScheduledService<?>,Duration>> backoffStrategyProperty
Вычисляет количество времени, которое нужно добавить к периоду при каждой ошибке. Это накопленное значение сбрасывается всякий раз, когда ScheduledService перезапускается вручную.- См. также:
-
getBackoffStrategy(),setBackoffStrategy(Callback)
-
restartOnFailure
public final BooleanProperty restartOnFailureProperty
Указывает, должен ли ScheduledService автоматически перезапускаться в случае ошибки в задаче.- См. также:
-
getRestartOnFailure(),setRestartOnFailure(boolean)
-
maximumFailureCount
public final IntegerProperty maximumFailureCountProperty
Максимальное количество попыток, которые ScheduledService может предпринять, прежде чем просто перейдет в состояние FAILED. Конечно, вы можете вручную перезапустить ScheduledService, что приведет к сбросу текущего счетчика.- См. также:
-
getMaximumFailureCount(),setMaximumFailureCount(int)
-
currentFailureCount
public final ReadOnlyIntegerProperty currentFailureCountProperty
Текущее количество попыток, которые предпринял ScheduledService. Сбрасывается при каждом ручном перезапуске ScheduledService.- См. также:
getCurrentFailureCount()
-
cumulativePeriod
public final ReadOnlyObjectProperty<Duration> cumulativePeriodProperty
Текущее суммарное время выполнения между итерациями. Будет таким же какperiod, за исключением случая ошибки, в котором используется значение backoffStrategy в качестве суммарного периода после каждой ошибки. Сбрасывается при ручном перезапуске ScheduledService или успешном завершении итерации. cumulativePeriod изменяется при переходе ScheduledService в состояние scheduled. cumulativePeriod может быть ограничен установкойmaximumCumulativePeriod.- См. также:
getCumulativePeriod()
-
maximumCumulativePeriod
public final ObjectProperty<Duration> maximumCumulativePeriodProperty
Максимально допустимое значение для cumulativePeriod. Установка этого значения поможет гарантировать, что в случае многократных ошибок алгоритм back-off не приведет к неразумно большим значениям для суммарного периода. Суммарный период гарантированно не будет больше этого значения. Если maximumCumulativePeriod отрицательный, то cumulativePeriod будет ограничен 0. Если maximumCumulativePeriod NaN или null, то он не повлияет на cumulativePeriod.
-
lastValue
public final ReadOnlyObjectProperty<V> lastValueProperty
Последнее успешно вычисленное значение. Во время каждой итерации значение ScheduledService сбрасывается до null, как и в любом другом сервисе. Однако lastValue устанавливается в последнее успешно вычисленное значение, даже через несколько итераций. Тем не менее, сбрасывается при ручном вызове reset или restart.- См. также:
getLastValue()
-
-
Подробности полей
-
EXPONENTIAL_BACKOFF_STRATEGY
public static final Callback<ScheduledService<?>,Duration> EXPONENTIAL_BACKOFF_STRATEGY
Реализация Callback для свойстваbackoffStrategy, которая экспоненциально увеличивает период между повторными выполнениями в случае ошибки. Этот расчет использует исходный период и количество последовательных ошибок для вычисления значения backoff.Если
serviceравно null, возвращается Duration.ZERO. Если период равен 0, результат этого метода будет простоMath.exp(currentFailureCount). Во всех остальных случаях возвращаемое значение такое же, как иperiod + (period * Math.exp(currentFailureCount)).
-
LOGARITHMIC_BACKOFF_STRATEGY
public static final Callback<ScheduledService<?>,Duration> LOGARITHMIC_BACKOFF_STRATEGY
Реализация Callback для свойстваbackoffStrategy, которая логарифмически увеличивает период между повторными выполнениями в случае ошибки. Этот расчет использует исходный период и количество последовательных ошибок для вычисления значения backoff.Если
serviceравно null, возвращается Duration.ZERO. Если период равен 0, результат этого метода будет простоMath.log1p(currentFailureCount). Во всех остальных случаях возвращаемое значение такое же, как иperiod + (period * Math.log1p(currentFailureCount)).
-
LINEAR_BACKOFF_STRATEGY
public static final Callback<ScheduledService<?>,Duration> LINEAR_BACKOFF_STRATEGY
Реализация Callback для свойстваbackoffStrategy, которая линейно увеличивает период между повторными выполнениями в случае ошибки. Этот расчет использует исходный период и количество последовательных ошибок для вычисления значения backoff.Если
serviceравно null, возвращается Duration.ZERO. Если период равен 0, результат этого метода будет простоcurrentFailureCount. Во всех остальных случаях возвращаемое значение такое же, как иperiod + (period * currentFailureCount).
-
-
Подробности конструкторов
-
ScheduledService
public ScheduledService()
-
-
Метод подробностей
-
getDelay
public final Duration getDelay()
Получает значение свойства delay.- Описание свойства:
- Начальная задержка между запуском ScheduledService и началом его работы. Это количество времени, в течение которого ScheduledService останется в состоянии SCHEDULED, прежде чем перейти в состояние RUNNING после нового вызова
Service.start()илиService.restart().
-
setDelay
public final void setDelay(Duration value)
Устанавливает значение свойства delay.- Описание свойства:
- Начальная задержка между запуском ScheduledService и началом его работы. Это количество времени, в течение которого ScheduledService останется в состоянии SCHEDULED, прежде чем перейти в состояние RUNNING после нового вызова
Service.start()илиService.restart().
-
delayProperty
public final ObjectProperty<Duration> delayProperty()
Начальная задержка между запуском ScheduledService и началом его работы. Это количество времени, в течение которого ScheduledService останется в состоянии SCHEDULED, прежде чем перейти в состояние RUNNING после нового вызоваService.start()илиService.restart().- См. также:
-
getDelay(),setDelay(Duration)
-
getPeriod
public final Duration getPeriod()
Получает значение свойства period.- Описание свойства:
- Минимальное количество времени, которое должно пройти между запуском последнего выполнения и запуском следующего выполнения. Фактическая продолжительность (также известная как
cumulativePeriod) будет зависеть от этого свойства, а также отbackoffStrategyи количества неудач.
-
setPeriod
public final void setPeriod(Duration value)
Устанавливает значение свойства period.- Описание свойства:
- Минимальное количество времени, которое должно пройти между запуском последнего выполнения и запуском следующего выполнения. Фактическая продолжительность (также известная как
cumulativePeriod) будет зависеть от этого свойства, а также отbackoffStrategyи количества неудач.
-
periodProperty
public final ObjectProperty<Duration> periodProperty()
Минимальное количество времени, которое должно пройти между запуском последнего выполнения и запуском следующего выполнения. Фактическая продолжительность (также известная какcumulativePeriod) будет зависеть от этого свойства, а также отbackoffStrategyи количества неудач.- См. также:
-
getPeriod(),setPeriod(Duration)
-
getBackoffStrategy
public final Callback<ScheduledService<?>,Duration> getBackoffStrategy()
Получает значение свойства backoffStrategy.- Описание свойства:
- Вычисляет количество времени, которое необходимо добавить к периоду при каждой неудаче. Это накопленное значение сбрасывается всякий раз, когда ScheduledService перезапускается вручную.
-
setBackoffStrategy
public final void setBackoffStrategy(Callback<ScheduledService<?>,Duration> value)
Устанавливает значение свойства backoffStrategy.- Описание свойства:
- Вычисляет количество времени, которое необходимо добавить к периоду при каждой неудаче. Это накопленное значение сбрасывается всякий раз, когда ScheduledService перезапускается вручную.
-
backoffStrategyProperty
public final ObjectProperty<Callback<ScheduledService<?>,Duration>> backoffStrategyProperty()
Вычисляет количество времени, которое необходимо добавить к периоду при каждой неудаче. Это накопленное значение сбрасывается всякий раз, когда ScheduledService перезапускается вручную.- См. также:
-
getBackoffStrategy(),setBackoffStrategy(Callback)
-
getRestartOnFailure
public final boolean getRestartOnFailure()
Получает значение свойства restartOnFailure.- Описание свойства:
- Указывает, должен ли ScheduledService автоматически перезапускаться в случае ошибки в задаче.
-
setRestartOnFailure
public final void setRestartOnFailure(boolean value)
Устанавливает значение свойства restartOnFailure.- Описание свойства:
- Указывает, должен ли ScheduledService автоматически перезапускаться в случае ошибки в задаче.
-
restartOnFailureProperty
public final BooleanProperty restartOnFailureProperty()
Указывает, должен ли ScheduledService автоматически перезапускаться в случае ошибки в задаче.- См. также:
-
getRestartOnFailure(),setRestartOnFailure(boolean)
-
getMaximumFailureCount
public final int getMaximumFailureCount()
Получает значение свойства maximumFailureCount.- Описание свойства:
- Максимальное количество попыток сбоя ScheduledService перед завершением в состоянии FAILED. Конечно, вы можете вручную перезапустить ScheduledService, что приведет к сбросу текущего счетчика.
-
setMaximumFailureCount
public final void setMaximumFailureCount(int value)
Устанавливает значение свойства maximumFailureCount.- Описание свойства:
- Максимальное количество попыток сбоя ScheduledService перед завершением в состоянии FAILED. Конечно, вы можете вручную перезапустить ScheduledService, что приведет к сбросу текущего счетчика.
-
maximumFailureCountProperty
public final IntegerProperty maximumFailureCountProperty()
Максимальное количество попыток сбоя ScheduledService перед завершением в состоянии FAILED. Конечно, вы можете вручную перезапустить ScheduledService, что приведет к сбросу текущего счетчика.- См. также:
-
getMaximumFailureCount(),setMaximumFailureCount(int)
-
getCurrentFailureCount
public final int getCurrentFailureCount()
Получает значение свойства currentFailureCount.- Описание свойства:
- Текущее количество неудач ScheduledService. Сбрасывается при каждом ручном перезапуске ScheduledService.
-
currentFailureCountProperty
public final ReadOnlyIntegerProperty currentFailureCountProperty()
Текущее количество неудач ScheduledService. Сбрасывается при каждом ручном перезапуске ScheduledService.- См. также:
getCurrentFailureCount()
-
getCumulativePeriod
public final Duration getCumulativePeriod()
Получает значение свойства cumulativePeriod.- Описание свойства:
- Текущий кумулятивный период между итерациями. Будет таким же, как
period, за исключением случаев сбоя, когда результат backoffStrategy используется в качестве кумулятивного периода после каждой неудачи. Сбрасывается при каждом ручном перезапуске ScheduledService или успешной итерации. cumulativePeriod изменяется, когда ScheduledService переходит в состояние планирования. cumulativePeriod может быть ограничен настройкойmaximumCumulativePeriod.
-
cumulativePeriodProperty
public final ReadOnlyObjectProperty<Duration> cumulativePeriodProperty()
Текущий кумулятивный период между итерациями. Будет таким же, какperiod, за исключением случаев сбоя, когда результат backoffStrategy используется в качестве кумулятивного периода после каждой неудачи. Сбрасывается при каждом ручном перезапуске ScheduledService или успешной итерации. cumulativePeriod изменяется, когда ScheduledService переходит в состояние планирования. cumulativePeriod может быть ограничен настройкойmaximumCumulativePeriod.- См. также:
getCumulativePeriod()
-
getMaximumCumulativePeriod
public final Duration getMaximumCumulativePeriod()
Получает значение свойства maximumCumulativePeriod.- Описание свойства:
- Максимальное разрешенное значение для cumulativePeriod. Установка этого значения поможет убедиться, что в случае многократных сбоев алгоритм отложенного запуска не приведет к неразумно большим значениям кумулятивного периода. Кумулятивный период гарантированно не будет превышать этого значения. Если maximumCumulativePeriod отрицательный, то cumulativePeriod будет ограничен значением 0. Если maximumCumulativePeriod NaN или null, то это не повлияет на cumulativePeriod.
-
setMaximumCumulativePeriod
public final void setMaximumCumulativePeriod(Duration value)
Устанавливает значение свойства maximumCumulativePeriod.- Описание свойства:
- Максимальное разрешенное значение для cumulativePeriod. Установка этого значения поможет убедиться, что в случае многократных сбоев алгоритм отложенного запуска не приведет к неразумно большим значениям кумулятивного периода. Кумулятивный период гарантированно не будет превышать этого значения. Если maximumCumulativePeriod отрицательный, то cumulativePeriod будет ограничен значением 0. Если maximumCumulativePeriod NaN или null, то это не повлияет на cumulativePeriod.
-
-
maximumCumulativePeriodProperty
public final ObjectProperty<Duration> maximumCumulativePeriodProperty()
Максимальное допустимое значение для cumulativePeriod. Установка этого значения поможет гарантировать, что в случае многократных сбоев алгоритм экспоненциального увеличения времени ожидания не приведет к необоснованно большим значениям для cumulativePeriod. Значение cumulativePeriod гарантированно не превысит это значение. Если maximumCumulativePeriod отрицательно, то cumulativePeriod будет ограничен значением 0. Если maximumCumulativePeriod равно NaN или null, то это не повлияет на cumulativePeriod.
-
getLastValue
public final V getLastValue()
Получает значение свойства lastValue.- Описание свойства:
- Последнее успешно вычисленное значение. Во время каждой итерации значение ScheduledService сбрасывается до null, как и в любом другом Service. Однако, lastValue устанавливается в последнее успешно вычисленное значение, даже между итерациями. Тем не менее, он сбрасывается, когда вы вручную вызываете reset или restart.
-
lastValueProperty
public final ReadOnlyObjectProperty<V> lastValueProperty()
Последнее успешно вычисленное значение. Во время каждой итерации значение ScheduledService сбрасывается до null, как и в любом другом Service. Однако, lastValue устанавливается в последнее успешно вычисленное значение, даже между итерациями. Тем не менее, он сбрасывается, когда вы вручную вызываете reset или restart.- См. также:
getLastValue()
-
executeTask
protected void executeTask(Task<V> task)
Описание, скопированное из класса:ServiceИспользует
executor, определённый в этом Service, для выполнения заданной задачи. Еслиexecutorравно null, используется исполняющий механизм по умолчанию, который создаст новую демоническую нить для выполнения этой задачи.Этот метод предназначен только для вызова реализацией Service.
- Переопределяет:
-
executeTaskв классеService<V> - Параметры:
-
task- не нулевая задача для выполнения
-
succeeded
protected void succeeded()
Защищенный вспомогательный метод для подклассов, вызываемый всякий раз, когда состояние Service переходит в состояние SUCCEEDED. Этот метод вызывается после того, как Service полностью перешел в новое состояние. Примечание для реализации: подклассы, переопределяющие этот метод, должны вызывать этот метод суперкласса.
-
failed
protected void failed()
Защищенный вспомогательный метод для подклассов, вызываемый всякий раз, когда состояние Service переходит в состояние FAILED. Этот метод вызывается после того, как Service полностью перешел в новое состояние. Примечание для реализации: подклассы, переопределяющие этот метод, должны вызывать этот метод суперкласса.
-
reset
public void reset()
Сбрасывает Service. Может быть вызван только в одном из конечных состояний: SUCCEEDED, FAILED или CANCELLED, или когда READY. Этот метод должен вызываться только в потоке FX приложения. Примечание для реализации: подклассы, переопределяющие этот метод, должны вызывать этот метод суперкласса.
-
cancel
public boolean cancel()
Отменяет любую текущую задачу и останавливает этот запланированный сервис, таким образом, не будет происходить дополнительных итераций.
-
© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.