org.springframework.scheduling.support.CronTrigger.nextExecutionTime()方法的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(10.9k)|赞(0)|评价(0)|浏览(255)

本文整理了Java中org.springframework.scheduling.support.CronTrigger.nextExecutionTime()方法的一些代码示例,展示了CronTrigger.nextExecutionTime()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。CronTrigger.nextExecutionTime()方法的具体详情如下:
包路径:org.springframework.scheduling.support.CronTrigger
类名称:CronTrigger
方法名:nextExecutionTime

CronTrigger.nextExecutionTime介绍

[英]Determine the next execution time according to the given trigger context.

Next execution times are calculated based on the TriggerContext#lastCompletionTime of the previous execution; therefore, overlapping executions won't occur.
[中]根据给定的触发器上下文确定下一次执行时间。
下一次执行时间基于上一次执行的TriggerContext#lastCompletionTime计算;因此,不会发生重复执行。

代码示例

代码示例来源:origin: spring-projects/spring-framework

  1. @Test
  2. public void testMonthlyTriggerInShortMonth() throws Exception {
  3. CronTrigger trigger = new CronTrigger("0 0 0 1 * *", timeZone);
  4. calendar.set(Calendar.MONTH, 9);
  5. calendar.set(Calendar.DAY_OF_MONTH, 30);
  6. Date date = calendar.getTime();
  7. calendar.set(Calendar.MONTH, 10);
  8. calendar.set(Calendar.DAY_OF_MONTH, 1);
  9. calendar.set(Calendar.HOUR_OF_DAY, 0);
  10. calendar.set(Calendar.MINUTE, 0);
  11. calendar.set(Calendar.SECOND, 0);
  12. TriggerContext context = getTriggerContext(date);
  13. assertEquals(calendar.getTime(), trigger.nextExecutionTime(context));
  14. }

代码示例来源:origin: spring-projects/spring-framework

  1. @Test
  2. public void testMonthlyTriggerInLongMonth() throws Exception {
  3. CronTrigger trigger = new CronTrigger("0 0 0 31 * *", timeZone);
  4. calendar.set(Calendar.MONTH, 9);
  5. calendar.set(Calendar.DAY_OF_MONTH, 30);
  6. Date date = calendar.getTime();
  7. calendar.set(Calendar.DAY_OF_MONTH, 31);
  8. calendar.set(Calendar.HOUR_OF_DAY, 0);
  9. calendar.set(Calendar.MINUTE, 0);
  10. calendar.set(Calendar.SECOND, 0);
  11. TriggerContext context = getTriggerContext(date);
  12. assertEquals(calendar.getTime(), trigger.nextExecutionTime(context));
  13. }

代码示例来源:origin: spring-projects/spring-framework

  1. @Test
  2. public void testIncrementDayOfMonthByOne() throws Exception {
  3. CronTrigger trigger = new CronTrigger("* * * 10 * *", timeZone);
  4. calendar.set(Calendar.DAY_OF_MONTH, 9);
  5. Date date = calendar.getTime();
  6. calendar.add(Calendar.DAY_OF_MONTH, 1);
  7. calendar.set(Calendar.HOUR_OF_DAY, 0);
  8. calendar.set(Calendar.MINUTE, 0);
  9. calendar.set(Calendar.SECOND, 0);
  10. TriggerContext context = getTriggerContext(date);
  11. assertEquals(calendar.getTime(), trigger.nextExecutionTime(context));
  12. }

代码示例来源:origin: spring-projects/spring-framework

  1. @Test
  2. public void testIncrementDayOfMonthAndRollover() throws Exception {
  3. CronTrigger trigger = new CronTrigger("* * * 10 * *", timeZone);
  4. calendar.set(Calendar.DAY_OF_MONTH, 11);
  5. Date date = calendar.getTime();
  6. calendar.add(Calendar.MONTH, 1);
  7. calendar.set(Calendar.DAY_OF_MONTH, 10);
  8. calendar.set(Calendar.HOUR_OF_DAY, 0);
  9. calendar.set(Calendar.MINUTE, 0);
  10. calendar.set(Calendar.SECOND, 0);
  11. TriggerContext context = getTriggerContext(date);
  12. assertEquals(calendar.getTime(), trigger.nextExecutionTime(context));
  13. }

代码示例来源:origin: spring-projects/spring-framework

  1. @Test
  2. public void testIncrementSecondWithPreviousExecutionTooEarly() throws Exception {
  3. CronTrigger trigger = new CronTrigger("11 * * * * *", timeZone);
  4. calendar.set(Calendar.SECOND, 11);
  5. SimpleTriggerContext context = new SimpleTriggerContext();
  6. context.update(calendar.getTime(), new Date(calendar.getTimeInMillis() - 100),
  7. new Date(calendar.getTimeInMillis() - 90));
  8. calendar.add(Calendar.MINUTE, 1);
  9. assertEquals(calendar.getTime(), trigger.nextExecutionTime(context));
  10. }

代码示例来源:origin: spring-projects/spring-framework

  1. @Test
  2. public void testSpecificHourSecond() throws Exception {
  3. CronTrigger trigger = new CronTrigger("55 * 10 * * *", timeZone);
  4. calendar.set(Calendar.HOUR_OF_DAY, 9);
  5. calendar.set(Calendar.SECOND, 54);
  6. Date date = calendar.getTime();
  7. TriggerContext context1 = getTriggerContext(date);
  8. calendar.add(Calendar.HOUR_OF_DAY, 1);
  9. calendar.set(Calendar.MINUTE, 0);
  10. calendar.set(Calendar.SECOND, 55);
  11. assertEquals(calendar.getTime(), date = trigger.nextExecutionTime(context1));
  12. calendar.add(Calendar.MINUTE, 1);
  13. TriggerContext context2 = getTriggerContext(date);
  14. assertEquals(calendar.getTime(), date = trigger.nextExecutionTime(context2));
  15. }

代码示例来源:origin: spring-projects/spring-framework

  1. @Test
  2. public void testIncrementMinuteByOne() throws Exception {
  3. CronTrigger trigger = new CronTrigger("0 11 * * * *", timeZone);
  4. calendar.set(Calendar.MINUTE, 10);
  5. TriggerContext context = getTriggerContext(calendar.getTime());
  6. calendar.add(Calendar.MINUTE, 1);
  7. calendar.set(Calendar.SECOND, 0);
  8. assertEquals(calendar.getTime(), trigger.nextExecutionTime(context));
  9. }

代码示例来源:origin: spring-projects/spring-framework

  1. @Test(expected = IllegalArgumentException.class)
  2. public void testNonExistentSpecificDate() throws Exception {
  3. // TODO: maybe try and detect this as a special case in parser?
  4. CronTrigger trigger = new CronTrigger("0 0 0 31 6 *", timeZone);
  5. calendar.set(Calendar.DAY_OF_MONTH, 10);
  6. calendar.set(Calendar.MONTH, 2);
  7. Date date = calendar.getTime();
  8. TriggerContext context1 = getTriggerContext(date);
  9. trigger.nextExecutionTime(context1);
  10. // new CronTrigger("0 0 0 30 1 ?", timeZone);
  11. }

代码示例来源:origin: spring-projects/spring-framework

  1. @Test
  2. public void testDailyTriggerOnDaylightSavingBoundary() throws Exception {
  3. CronTrigger trigger = new CronTrigger("0 0 0 * * *", timeZone);
  4. calendar.set(Calendar.MONTH, 9); // October: 31 days and a daylight saving boundary in CET
  5. calendar.set(Calendar.DAY_OF_MONTH, 30);
  6. Date date = calendar.getTime();
  7. calendar.set(Calendar.HOUR_OF_DAY, 0);
  8. calendar.set(Calendar.MINUTE, 0);
  9. calendar.set(Calendar.SECOND, 0);
  10. calendar.set(Calendar.DAY_OF_MONTH, 31);
  11. TriggerContext context1 = getTriggerContext(date);
  12. assertEquals(calendar.getTime(), date = trigger.nextExecutionTime(context1));
  13. calendar.set(Calendar.MONTH, 10); // November
  14. calendar.set(Calendar.DAY_OF_MONTH, 1);
  15. TriggerContext context2 = getTriggerContext(date);
  16. assertEquals(calendar.getTime(), trigger.nextExecutionTime(context2));
  17. }

代码示例来源:origin: spring-projects/spring-framework

  1. @Test
  2. public void testIncrementDayOfWeekByOne() throws Exception {
  3. CronTrigger trigger = new CronTrigger("* * * * * 2", timeZone);
  4. calendar.set(Calendar.DAY_OF_WEEK, 2);
  5. Date date = calendar.getTime();
  6. calendar.add(Calendar.DAY_OF_WEEK, 1);
  7. calendar.set(Calendar.HOUR_OF_DAY, 0);
  8. calendar.set(Calendar.MINUTE, 0);
  9. calendar.set(Calendar.SECOND, 0);
  10. TriggerContext context = getTriggerContext(date);
  11. assertEquals(calendar.getTime(), trigger.nextExecutionTime(context));
  12. assertEquals(Calendar.TUESDAY, calendar.get(Calendar.DAY_OF_WEEK));
  13. }

代码示例来源:origin: spring-projects/spring-framework

  1. @Test
  2. public void testIncrementMinuteAndRollover() throws Exception {
  3. CronTrigger trigger = new CronTrigger("0 10 * * * *", timeZone);
  4. calendar.set(Calendar.MINUTE, 11);
  5. calendar.set(Calendar.SECOND, 0);
  6. Date date = calendar.getTime();
  7. calendar.add(Calendar.MINUTE, 59);
  8. TriggerContext context = getTriggerContext(date);
  9. assertEquals(calendar.getTime(), trigger.nextExecutionTime(context));
  10. }

代码示例来源:origin: spring-projects/spring-framework

  1. @Test
  2. public void testSpecificMinuteSecond() throws Exception {
  3. CronTrigger trigger = new CronTrigger("55 5 * * * *", timeZone);
  4. calendar.set(Calendar.MINUTE, 4);
  5. calendar.set(Calendar.SECOND, 54);
  6. Date date = calendar.getTime();
  7. TriggerContext context1 = getTriggerContext(date);
  8. calendar.add(Calendar.MINUTE, 1);
  9. calendar.set(Calendar.SECOND, 55);
  10. assertEquals(calendar.getTime(), date = trigger.nextExecutionTime(context1));
  11. calendar.add(Calendar.HOUR, 1);
  12. TriggerContext context2 = getTriggerContext(date);
  13. assertEquals(calendar.getTime(), date = trigger.nextExecutionTime(context2));
  14. }

代码示例来源:origin: spring-projects/spring-framework

  1. @Test
  2. public void testSpecificDayOfMonthSecond() throws Exception {
  3. CronTrigger trigger = new CronTrigger("55 * * 3 * *", timeZone);
  4. calendar.set(Calendar.DAY_OF_MONTH, 2);
  5. calendar.set(Calendar.SECOND, 54);
  6. Date date = calendar.getTime();
  7. TriggerContext context1 = getTriggerContext(date);
  8. calendar.add(Calendar.DAY_OF_MONTH, 1);
  9. calendar.set(Calendar.HOUR_OF_DAY, 0);
  10. calendar.set(Calendar.MINUTE, 0);
  11. calendar.set(Calendar.SECOND, 55);
  12. assertEquals(calendar.getTime(), date = trigger.nextExecutionTime(context1));
  13. calendar.add(Calendar.MINUTE, 1);
  14. TriggerContext context2 = getTriggerContext(date);
  15. assertEquals(calendar.getTime(), date = trigger.nextExecutionTime(context2));
  16. }

代码示例来源:origin: spring-projects/spring-framework

  1. @Test
  2. public void testSpecificMinuteHour() throws Exception {
  3. CronTrigger trigger = new CronTrigger("* 5 10 * * *", timeZone);
  4. calendar.set(Calendar.MINUTE, 4);
  5. calendar.set(Calendar.HOUR_OF_DAY, 9);
  6. Date date = calendar.getTime();
  7. calendar.add(Calendar.MINUTE, 1);
  8. calendar.add(Calendar.HOUR_OF_DAY, 1);
  9. calendar.set(Calendar.SECOND, 0);
  10. TriggerContext context1 = getTriggerContext(date);
  11. assertEquals(calendar.getTime(), date = trigger.nextExecutionTime(context1));
  12. // next trigger is in one second because second is wildcard
  13. calendar.add(Calendar.SECOND, 1);
  14. TriggerContext context2 = getTriggerContext(date);
  15. assertEquals(calendar.getTime(), date = trigger.nextExecutionTime(context2));
  16. }

代码示例来源:origin: spring-projects/spring-framework

  1. private void assertMatchesNextSecond(CronTrigger trigger, Calendar calendar) {
  2. Date date = calendar.getTime();
  3. roundup(calendar);
  4. TriggerContext context = getTriggerContext(date);
  5. assertEquals(calendar.getTime(), trigger.nextExecutionTime(context));
  6. }

代码示例来源:origin: spring-projects/spring-framework

  1. @Test
  2. public void testIncrementDayOfWeekAndRollover() throws Exception {
  3. CronTrigger trigger = new CronTrigger("* * * * * 2", timeZone);
  4. calendar.set(Calendar.DAY_OF_WEEK, 4);
  5. Date date = calendar.getTime();
  6. calendar.add(Calendar.DAY_OF_MONTH, 6);
  7. calendar.set(Calendar.HOUR_OF_DAY, 0);
  8. calendar.set(Calendar.MINUTE, 0);
  9. calendar.set(Calendar.SECOND, 0);
  10. TriggerContext context = getTriggerContext(date);
  11. assertEquals(calendar.getTime(), trigger.nextExecutionTime(context));
  12. assertEquals(Calendar.TUESDAY, calendar.get(Calendar.DAY_OF_WEEK));
  13. }

代码示例来源:origin: spring-projects/spring-framework

  1. @Test
  2. public void testIncrementSecondAndRollover() throws Exception {
  3. CronTrigger trigger = new CronTrigger("10 * * * * *", timeZone);
  4. calendar.set(Calendar.SECOND, 11);
  5. Date date = calendar.getTime();
  6. calendar.add(Calendar.SECOND, 59);
  7. TriggerContext context = getTriggerContext(date);
  8. assertEquals(calendar.getTime(), trigger.nextExecutionTime(context));
  9. }

代码示例来源:origin: spring-projects/spring-framework

  1. @Test
  2. public void testIncrementSecondByOne() throws Exception {
  3. CronTrigger trigger = new CronTrigger("11 * * * * *", timeZone);
  4. calendar.set(Calendar.SECOND, 10);
  5. Date date = calendar.getTime();
  6. calendar.add(Calendar.SECOND, 1);
  7. TriggerContext context = getTriggerContext(date);
  8. assertEquals(calendar.getTime(), trigger.nextExecutionTime(context));
  9. }

代码示例来源:origin: spring-projects/spring-framework

  1. @Test
  2. public void testIncrementMinute() throws Exception {
  3. CronTrigger trigger = new CronTrigger("0 * * * * *", timeZone);
  4. calendar.set(Calendar.MINUTE, 10);
  5. Date date = calendar.getTime();
  6. calendar.add(Calendar.MINUTE, 1);
  7. calendar.set(Calendar.SECOND, 0);
  8. TriggerContext context1 = getTriggerContext(date);
  9. date = trigger.nextExecutionTime(context1);
  10. assertEquals(calendar.getTime(), date);
  11. calendar.add(Calendar.MINUTE, 1);
  12. TriggerContext context2 = getTriggerContext(date);
  13. date = trigger.nextExecutionTime(context2);
  14. assertEquals(calendar.getTime(), date);
  15. }

代码示例来源:origin: spring-projects/spring-framework

  1. @Test
  2. public void testMatchAll() throws Exception {
  3. CronTrigger trigger = new CronTrigger("* * * * * *", timeZone);
  4. TriggerContext context = getTriggerContext(date);
  5. assertEquals(calendar.getTime(), trigger.nextExecutionTime(context));
  6. }

相关文章