Annotation Type Schedule


  • @Documented
    @Retention(RUNTIME)
    @Target(ANNOTATION_TYPE)
    public @interface Schedule

    Defines schedules for scheduled asynchronous methods.

    For the scheduled asychronous method to aim to run at a given day and time, all of the criteria specified by the Schedule must match or be disregarded according to the rules of each field.

    Since:
    3.1
    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element Description
      java.lang.String cron
      Cron expression following the rules of CronTrigger.
      int[] daysOfMonth
      Days of the month on which the asynchronous method aims to run.
      java.time.DayOfWeek[] daysOfWeek
      Days of the week on which the asynchronous method aims to run.
      int[] hours
      Hours of the day at which the asynchronous method aims to run.
      int[] minutes
      Minutes at which the asynchronous method aims to run.
      java.time.Month[] months
      Months in which the asynchronous method aims to run.
      int[] seconds
      Seconds at which the asynchronous method aims to run.
      long skipIfLateBy
      Seconds after which an execution that is late to start should be skipped rather than starting it late.
      java.lang.String zone
      Time zone id, such as America/Chicago or America/Los_Angeles, which identifies the time zone of the schedule.
    • Element Detail

      • cron

        java.lang.String cron

        Cron expression following the rules of CronTrigger.

        When a non-empty value is specified, it overrides all values that are specified for months(), daysOfMonth(), daysOfWeek(), hours(), minutes(), and seconds().

        The default value is the empty string, indicating that no cron expression is to be used.

        Returns:
        cron expression indicating when to run the asynchronous method.
        Default:
        ""
      • months

        java.time.Month[] months

        Months in which the asynchronous method aims to run.

        The default value is an empty list, which means that the month is not included in the criteria for deciding when to run the asynchronous method.

        Returns:
        list of months in which the asynchronous method aims to run; An empty list disregards the month.
        Default:
        {}
      • daysOfMonth

        int[] daysOfMonth

        Days of the month on which the asynchronous method aims to run. Values can range from 1 to 31.

        The default value is an empty list, which means that the day of the month is not included in the criteria for deciding when to run the asynchronous method.

        Returns:
        list of days of the month on which the asynchronous method aims to run; An empty list disregards the day of the month.
        Default:
        {}
      • daysOfWeek

        java.time.DayOfWeek[] daysOfWeek

        Days of the week on which the asynchronous method aims to run.

        The default value is an empty list, which means that the day of the week is not included in the criteria for deciding when to run the asynchronous method.

        Returns:
        list of days of the week on which the asynchronous method aims to run; An empty list disregards the day of the week.
        Default:
        {}
      • hours

        int[] hours

        Hours of the day at which the asynchronous method aims to run.

        Values can range from 0 to 23. A value of empty list indicates that the hour is not included in the criteria for deciding when to run the asynchronous method.

        The default value is 0 (midnight).

        Returns:
        list of hours at which the asynchronous method aims to run; An empty list disregards the hour.
        Default:
        {0}
      • minutes

        int[] minutes

        Minutes at which the asynchronous method aims to run.

        Values can range from 0 to 59. A value of empty list indicates that the minute is not included in the criteria for deciding when to run the asynchronous method.

        The default value is 0 (at the start of the hour).

        Returns:
        list of minutes at which the asynchronous method aims to run; An empty list disregards the minutes.
        Default:
        {0}
      • seconds

        int[] seconds

        Seconds at which the asynchronous method aims to run.

        Values can range from 0 to 59. A value of empty list causes the asynchronous method to raise IllegalArgumentException.

        The default value is 0 (at the start of the minute).

        Returns:
        list of seconds at which the asynchronous method aims to run.
        Default:
        {0}
      • skipIfLateBy

        long skipIfLateBy

        Seconds after which an execution that is late to start should be skipped rather than starting it late.

        Values must be greater than 0. The default value is 600 seconds (10 minutes). This differs from executions that are missed due to overlap, which are always skipped.

        Returns:
        the threshold for skipping executions that are late to start.
        Default:
        600L
      • zone

        java.lang.String zone

        Time zone id, such as America/Chicago or America/Los_Angeles, which identifies the time zone of the schedule.

        The default value of empty string indicates to use the default time zone for the system.

        Default:
        ""