Spec-Zone.ru › OpenJavaFX 11
Модуль javafx.graphics
Пакет javafx.concurrent

Класс ScheduledService<V>

  • 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 или restart ScheduledService переходит в состояние 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. После достижения maximumFailureCount ScheduledService перейдет в состояние FAILED точно так же, как если бы restartOnFailure было ложным.

    Если period или delay изменяются во время работы ScheduledService, новые значения будут учтены при следующей итерации. Например, если period увеличено, то при следующем переходе ScheduledService в состояние SCHEDULED будет использовано новое значение period. Аналогично, если delay изменено, новое значение будет учтено при следующем перезапуске или сбросе/запуске.

    ScheduledService обычно используется для случаев использования, которые включают опросы. Например, вы можете регулярно посылать запрос на сервер, чтобы проверить наличие обновлений. Такой ScheduledService может быть реализован следующим образом:
    
     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));
     
    Этот пример будет посылать запрос на удаленный сервер каждые 1 секунду.

    Точность времени для этого класса не является абсолютной. Очень загруженный поток событий может ввести некоторую задержку в начало выполнения фонового Task, поэтому очень малые значения для периода или задержки могут быть неточны. Задержка или период в сотни миллисекунд или более должны быть достаточно надежными.

    ScheduledService в его стандартной конфигурации имеет значение по умолчанию period 0 и значение по умолчанию delay 0. Это приведет к выполнению задачи 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
    Текущий накопительный период, используемый между итерациями.
    ReadOnlyIntegerProperty currentFailureCount
    Текущее количество раз, когда ScheduledService завершился ошибкой.
    ObjectProperty<Duration> delay
    Начальная задержка между началом работы ScheduledService и началом его выполнения.
    ReadOnlyObjectProperty<V> lastValue
    Последнее успешно вычисленное значение.
    ObjectProperty<Duration> maximumCumulativePeriod
    Максимальное разрешенное значение для cumulativePeriod.
    IntegerProperty maximumFailureCount
    Максимальное количество раз, когда ScheduledService может завершиться ошибкой, прежде чем перейдет в состояние FAILED.
    ObjectProperty<Duration> period
    Минимальное время, которое должно быть между окончанием последнего выполнения и началом следующего.
    BooleanProperty restartOnFailure
    Указывает, должен ли ScheduledService автоматически перезапускаться в случае ошибки в задаче.
    • Наследованные свойства от класса javafx.concurrent.Service

      exception, executor, message, onCancelled, onFailed, onReady, onRunning, onScheduled, onSucceeded, progress, running, state, title, totalWork, value, workDone
  • Краткое описание вложенных классов

    • Наследованные вложенные классы/интерфейсы от интерфейса 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()
    Вычисляет время, которое нужно добавить к периоду при каждой ошибке.
    boolean cancel()
    Отменяет любой текущий выполняемый процесс и останавливает эту запланированную службу, так что больше итераций не произойдёт.
    ReadOnlyObjectProperty<Duration> cumulativePeriodProperty()
    Текущий кумулятивный период, используемый между итерациями.
    ReadOnlyIntegerProperty currentFailureCountProperty()
    Текущее количество раз, когда ScheduledService завершился ошибкой.
    ObjectProperty<Duration> delayProperty()
    Начальная задержка между запуском ScheduledService и началом его работы.
    protected void executeTask​(Task<V> task)
    Использует executor, определённое для этой службы, для выполнения заданной задачи.
    protected void failed()
    Защищённый вспомогательный метод для подклассов, вызываемый, когда состояние службы переходит в состояние FAILED.
    Callback<ScheduledService<?>,​Duration> getBackoffStrategy()
    Возвращает значение свойства backoffStrategy.
    Duration getCumulativePeriod()
    Возвращает значение свойства cumulativePeriod.
    int getCurrentFailureCount()
    Возвращает значение свойства currentFailureCount.
    Duration getDelay()
    Возвращает значение свойства delay.
    V getLastValue()
    Возвращает значение свойства lastValue.
    Duration getMaximumCumulativePeriod()
    Возвращает значение свойства maximumCumulativePeriod.
    int getMaximumFailureCount()
    Возвращает значение свойства maximumFailureCount.
    Duration getPeriod()
    Возвращает значение свойства period.
    boolean getRestartOnFailure()
    Возвращает значение свойства restartOnFailure.
    ReadOnlyObjectProperty<V> lastValueProperty()
    Последнее успешно вычисленное значение.
    ObjectProperty<Duration> maximumCumulativePeriodProperty()
    Максимально допустимое значение для cumulativePeriod.
    IntegerProperty maximumFailureCountProperty()
    Максимальное количество ошибок, которые ScheduledService может иметь, прежде чем перейти в состояние FAILED.
    ObjectProperty<Duration> periodProperty()
    Минимальное время, которое должно пройти между окончанием последнего выполнения и началом следующего.
    void reset()
    Сбрасывает состояние службы.
    BooleanProperty restartOnFailureProperty()
    Указывает, должна ли ScheduledService автоматически перезапускаться в случае ошибки в задаче.
    void setBackoffStrategy​(Callback<ScheduledService<?>,​Duration> value)
    Устанавливает значение свойства backoffStrategy.
    void setDelay​(Duration value)
    Устанавливает значение свойства delay.
    void setMaximumCumulativePeriod​(Duration value)
    Устанавливает значение свойства maximumCumulativePeriod.
    void setMaximumFailureCount​(int value)
    Устанавливает значение свойства maximumFailureCount.
    void setPeriod​(Duration value)
    Устанавливает значение свойства period.
    void setRestartOnFailure​(boolean value)
    Устанавливает значение свойства restartOnFailure.
    protected void succeeded()
    Защищённый вспомогательный метод для подклассов, вызываемый, когда состояние службы переходит в состояние 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
    • Наследованные методы от класса java.lang.Object

      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Подробности свойств

    • 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.
      См. также:
      getMaximumCumulativePeriod(), setMaximumCumulativePeriod(Duration)
    • 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.
      См. также:
      getMaximumCumulativePeriod(), setMaximumCumulativePeriod(Duration)
    • 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 полностью перешел в новое состояние. Примечание для реализации: подклассы, переопределяющие этот метод, должны вызывать этот метод суперкласса.
      Переопределяет:
      succeeded в классе Service<V>
    • failed

      protected void failed()
      Защищенный вспомогательный метод для подклассов, вызываемый всякий раз, когда состояние Service переходит в состояние FAILED. Этот метод вызывается после того, как Service полностью перешел в новое состояние. Примечание для реализации: подклассы, переопределяющие этот метод, должны вызывать этот метод суперкласса.
      Переопределяет:
      failed в классе Service<V>
    • reset

      public void reset()
      Сбрасывает Service. Может быть вызван только в одном из конечных состояний: SUCCEEDED, FAILED или CANCELLED, или когда READY. Этот метод должен вызываться только в потоке FX приложения. Примечание для реализации: подклассы, переопределяющие этот метод, должны вызывать этот метод суперкласса.
      Переопределяет:
      reset в классе Service<V>
    • cancel

      public boolean cancel()
      Отменяет любую текущую задачу и останавливает этот запланированный сервис, таким образом, не будет происходить дополнительных итераций.
      Определяет:
      cancel в интерфейсе Worker<V>
      Переопределяет:
      cancel в классе Service<V>
      Возвращает:
      была ли отменена какая-либо запущенная задача, false, если ни одна задача не была отменена. В любом случае, ScheduledService перестанет выполнять итерации.

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API