Spring's timed tasks

Source: Internet
Author: User

The jar package dependency of quartz introduced in Maven

Simple time-based setup rules
Org.springframework.scheduling.quartz.CronTriggerBean allows you to more precisely control the run time of a task and only needs to set its Cronexpression property.
A cronexpression expression has at least 6 (or possibly 7) time elements separated by a space. From left to right, these elements are defined as follows:

1. Seconds (0–59)
2. Minutes (0–59)
3. Hours (0–23)
4. Date in the month (1–31)
5. Month (1–12 or JAN–DEC)
6. Day of the week (1–7 or Sun–sat)
7. Year (1970–2099)
0 0 10,14,16 * *?
Daily 10 o'clock in the morning, 2 o'clock in the afternoon and 4 o'clock in the afternoon
0 0,15,30,45 * 1-10 *?
Every 15 minutes in the first 10 days of each month
30 0 0 1 1? 2012
30 seconds at midnight on January 1, 2012.
0 0 8-5? * Mon-fri
Working hours per working day
The available values for each time are as follows:

Seconds 0-59,-*/
Sub 0-59,-*/
Hours 0-23,-*/
Day 1-31,-*? /L W C
Month 1-12 or JAN-DEC,-*/
How many weeks 1-7 or SUN-SAT,-*? /L C #
Year (optional field) empty, 1970-2099,-*/
The available values are analyzed in detail below:

"*"--the character can be used for all fields, and set to "*" in the "points" field means "every minute".
“?” --characters can be used in the "Day" and "Week" fields. It is used to specify ' ambiguous values '. This is used when you need to specify a value in both fields instead of the other. In the following example, you can see its meaning.
"-"--the character is used to specify a range of values, such as "10-12" in the "Hour" field for "10 point to 12 points".
","--the character specifies a number of values. For example, in the "Weeks" field is set to "Mon,wed,fri" means "The days Monday, Wednesday, and Friday".
"/"--character is used to specify the increment of a value. For example, the "Seconds" field is set to "0/15" for "No. 0, 15, 30, and 45 seconds". "5/15" means "5th, 20, 35, and 50". The "*" character in front of '/' is equivalent to the specified starting at 0 seconds. Each field has a series of values that can start or end. For the seconds and minutes fields, the values range from 0 to 59, which is 0 to 23 for the hour field, 0 to 31 for the day field, and 1 to 12 for the month field. The "/" field is simply a value that helps you to start "nth" within the allowable numeric range.
"L"--characters can be used in both "Day" and "Week" fields. It is the abbreviation for "last", but it has different meanings in both fields. For example, "L" in the day field means "the last day of one months"-for January is number 31st for February is 28th (not a leap year). In the "Weeks" field, it simply represents "7" or "SAT", but if it is followed by a number in the "Weeks" field, it means "the last one weeks of the month X"-such as "6L" for "The last Friday of the month". When using the ' L ' option, it is important to specify the list or scope of the determination, otherwise you will be confused by the result.
"W"--Available for the "Day" field. Used to specify the most recent weekday (Monday to Friday) for the given date of the calendar. For example, you set the "Day" field to "15W", meaning: "The most recent working day from the month of 15th." So if number 15th is Saturday, the trigger will be called at 14th, or Friday. If number 15th is Sunday, the trigger will be triggered at 16th, or Monday. If number 15th is Tuesday, it will be triggered the same day. However, if you set the "Day" field to "1W" and the number is Saturday, the trigger will be triggered in the next Monday, which is the 3rd number of the month, because it will not cross the range boundary of the value of the month. The ' W ' character can only be used when the value of the day field is a single day instead of a series of values.
The "L" and "W" can be combined for the "day" field expressed as ' LW ', meaning "the last working day of the month".
"#"--the character can be used in the "Weeks" field. The character denotes "week X of the month", such as "6#3", which represents the third Friday of the month (6 for Friday and the third for the month "#3"). Another example: "2#1" = the first Monday of the month and "4#5" = Fifth Wednesday of the month. Note If you specify "#5" that the month does not have a fifth "week X", the month is not triggered.
The "C"--character can be used for the "Day" and "Week" fields, which is the abbreviation for "Calendar". It represents the value, if any, that is computed based on the associated calendar. If there is no associated calendar, it is equivalent to including all calendars. The day field value of 5C means "the first day of the calendar or after 5th," and the "Weeks" field value "1C" means "the first day of the calendar or after Sunday."
Valid characters are not case-sensitive for the month field and the weeks field.
Some examples:

"0 0 12 * *?" Triggered 12 o'clock noon every day
"0 15 10?" * * "trigger 10:15 every day"
"0 15 10 * *?" Triggered 10:15 daily
"0 15 10 * *?" * "10:15 per day" trigger
"0 15 10 * *?" 2005 "2005-year daily 10:15 Trigger
"0 * 14 * *?" Daily from 2 o'clock in the afternoon to 2:59 per minute trigger
"0 0/5 14 * *?" Every 5 minutes from 2 o'clock in the afternoon to 2:55
"0 0/5 14,18 * *?" Daily from 2 o'clock in the afternoon to 2:55 and from 6 to 6:55 every 5 minutes for two time periods
"0 0-5 14 * *?" Daily 14:00 to 14:05 triggers per minute
"0 10,44 14?" 3 WED "March of 14:10 and 14:44 triggers per Wednesday
"0 15 10?" * MON-FRI "10:15 triggers per Monday, Tuesday, Wednesday, Thursday, Friday
"0 15 10 15 *?" 10:15 Trigger per month at 15th
"0 L *?" 10:15 triggers on the last day of the month
"0 15 10?" * 6L "Last Friday of every month 10:15

The properties file configures the cron expression, which takes 2 minutes as an example

Defines the start of the timer after spring loading is complete

Spring's timed tasks

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.