本文整理了Java中org.springframework.scheduling.support.CronTrigger.nextExecutionTime()
方法的一些代码示例,展示了CronTrigger.nextExecutionTime()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。CronTrigger.nextExecutionTime()
方法的具体详情如下:
包路径:org.springframework.scheduling.support.CronTrigger
类名称: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
@Test
public void testMonthlyTriggerInShortMonth() throws Exception {
CronTrigger trigger = new CronTrigger("0 0 0 1 * *", timeZone);
calendar.set(Calendar.MONTH, 9);
calendar.set(Calendar.DAY_OF_MONTH, 30);
Date date = calendar.getTime();
calendar.set(Calendar.MONTH, 10);
calendar.set(Calendar.DAY_OF_MONTH, 1);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
TriggerContext context = getTriggerContext(date);
assertEquals(calendar.getTime(), trigger.nextExecutionTime(context));
}
代码示例来源:origin: spring-projects/spring-framework
@Test
public void testMonthlyTriggerInLongMonth() throws Exception {
CronTrigger trigger = new CronTrigger("0 0 0 31 * *", timeZone);
calendar.set(Calendar.MONTH, 9);
calendar.set(Calendar.DAY_OF_MONTH, 30);
Date date = calendar.getTime();
calendar.set(Calendar.DAY_OF_MONTH, 31);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
TriggerContext context = getTriggerContext(date);
assertEquals(calendar.getTime(), trigger.nextExecutionTime(context));
}
代码示例来源:origin: spring-projects/spring-framework
@Test
public void testIncrementDayOfMonthByOne() throws Exception {
CronTrigger trigger = new CronTrigger("* * * 10 * *", timeZone);
calendar.set(Calendar.DAY_OF_MONTH, 9);
Date date = calendar.getTime();
calendar.add(Calendar.DAY_OF_MONTH, 1);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
TriggerContext context = getTriggerContext(date);
assertEquals(calendar.getTime(), trigger.nextExecutionTime(context));
}
代码示例来源:origin: spring-projects/spring-framework
@Test
public void testIncrementDayOfMonthAndRollover() throws Exception {
CronTrigger trigger = new CronTrigger("* * * 10 * *", timeZone);
calendar.set(Calendar.DAY_OF_MONTH, 11);
Date date = calendar.getTime();
calendar.add(Calendar.MONTH, 1);
calendar.set(Calendar.DAY_OF_MONTH, 10);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
TriggerContext context = getTriggerContext(date);
assertEquals(calendar.getTime(), trigger.nextExecutionTime(context));
}
代码示例来源:origin: spring-projects/spring-framework
@Test
public void testIncrementSecondWithPreviousExecutionTooEarly() throws Exception {
CronTrigger trigger = new CronTrigger("11 * * * * *", timeZone);
calendar.set(Calendar.SECOND, 11);
SimpleTriggerContext context = new SimpleTriggerContext();
context.update(calendar.getTime(), new Date(calendar.getTimeInMillis() - 100),
new Date(calendar.getTimeInMillis() - 90));
calendar.add(Calendar.MINUTE, 1);
assertEquals(calendar.getTime(), trigger.nextExecutionTime(context));
}
代码示例来源:origin: spring-projects/spring-framework
@Test
public void testSpecificHourSecond() throws Exception {
CronTrigger trigger = new CronTrigger("55 * 10 * * *", timeZone);
calendar.set(Calendar.HOUR_OF_DAY, 9);
calendar.set(Calendar.SECOND, 54);
Date date = calendar.getTime();
TriggerContext context1 = getTriggerContext(date);
calendar.add(Calendar.HOUR_OF_DAY, 1);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 55);
assertEquals(calendar.getTime(), date = trigger.nextExecutionTime(context1));
calendar.add(Calendar.MINUTE, 1);
TriggerContext context2 = getTriggerContext(date);
assertEquals(calendar.getTime(), date = trigger.nextExecutionTime(context2));
}
代码示例来源:origin: spring-projects/spring-framework
@Test
public void testIncrementMinuteByOne() throws Exception {
CronTrigger trigger = new CronTrigger("0 11 * * * *", timeZone);
calendar.set(Calendar.MINUTE, 10);
TriggerContext context = getTriggerContext(calendar.getTime());
calendar.add(Calendar.MINUTE, 1);
calendar.set(Calendar.SECOND, 0);
assertEquals(calendar.getTime(), trigger.nextExecutionTime(context));
}
代码示例来源:origin: spring-projects/spring-framework
@Test(expected = IllegalArgumentException.class)
public void testNonExistentSpecificDate() throws Exception {
// TODO: maybe try and detect this as a special case in parser?
CronTrigger trigger = new CronTrigger("0 0 0 31 6 *", timeZone);
calendar.set(Calendar.DAY_OF_MONTH, 10);
calendar.set(Calendar.MONTH, 2);
Date date = calendar.getTime();
TriggerContext context1 = getTriggerContext(date);
trigger.nextExecutionTime(context1);
// new CronTrigger("0 0 0 30 1 ?", timeZone);
}
代码示例来源:origin: spring-projects/spring-framework
@Test
public void testDailyTriggerOnDaylightSavingBoundary() throws Exception {
CronTrigger trigger = new CronTrigger("0 0 0 * * *", timeZone);
calendar.set(Calendar.MONTH, 9); // October: 31 days and a daylight saving boundary in CET
calendar.set(Calendar.DAY_OF_MONTH, 30);
Date date = calendar.getTime();
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.DAY_OF_MONTH, 31);
TriggerContext context1 = getTriggerContext(date);
assertEquals(calendar.getTime(), date = trigger.nextExecutionTime(context1));
calendar.set(Calendar.MONTH, 10); // November
calendar.set(Calendar.DAY_OF_MONTH, 1);
TriggerContext context2 = getTriggerContext(date);
assertEquals(calendar.getTime(), trigger.nextExecutionTime(context2));
}
代码示例来源:origin: spring-projects/spring-framework
@Test
public void testIncrementDayOfWeekByOne() throws Exception {
CronTrigger trigger = new CronTrigger("* * * * * 2", timeZone);
calendar.set(Calendar.DAY_OF_WEEK, 2);
Date date = calendar.getTime();
calendar.add(Calendar.DAY_OF_WEEK, 1);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
TriggerContext context = getTriggerContext(date);
assertEquals(calendar.getTime(), trigger.nextExecutionTime(context));
assertEquals(Calendar.TUESDAY, calendar.get(Calendar.DAY_OF_WEEK));
}
代码示例来源:origin: spring-projects/spring-framework
@Test
public void testIncrementMinuteAndRollover() throws Exception {
CronTrigger trigger = new CronTrigger("0 10 * * * *", timeZone);
calendar.set(Calendar.MINUTE, 11);
calendar.set(Calendar.SECOND, 0);
Date date = calendar.getTime();
calendar.add(Calendar.MINUTE, 59);
TriggerContext context = getTriggerContext(date);
assertEquals(calendar.getTime(), trigger.nextExecutionTime(context));
}
代码示例来源:origin: spring-projects/spring-framework
@Test
public void testSpecificMinuteSecond() throws Exception {
CronTrigger trigger = new CronTrigger("55 5 * * * *", timeZone);
calendar.set(Calendar.MINUTE, 4);
calendar.set(Calendar.SECOND, 54);
Date date = calendar.getTime();
TriggerContext context1 = getTriggerContext(date);
calendar.add(Calendar.MINUTE, 1);
calendar.set(Calendar.SECOND, 55);
assertEquals(calendar.getTime(), date = trigger.nextExecutionTime(context1));
calendar.add(Calendar.HOUR, 1);
TriggerContext context2 = getTriggerContext(date);
assertEquals(calendar.getTime(), date = trigger.nextExecutionTime(context2));
}
代码示例来源:origin: spring-projects/spring-framework
@Test
public void testSpecificDayOfMonthSecond() throws Exception {
CronTrigger trigger = new CronTrigger("55 * * 3 * *", timeZone);
calendar.set(Calendar.DAY_OF_MONTH, 2);
calendar.set(Calendar.SECOND, 54);
Date date = calendar.getTime();
TriggerContext context1 = getTriggerContext(date);
calendar.add(Calendar.DAY_OF_MONTH, 1);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 55);
assertEquals(calendar.getTime(), date = trigger.nextExecutionTime(context1));
calendar.add(Calendar.MINUTE, 1);
TriggerContext context2 = getTriggerContext(date);
assertEquals(calendar.getTime(), date = trigger.nextExecutionTime(context2));
}
代码示例来源:origin: spring-projects/spring-framework
@Test
public void testSpecificMinuteHour() throws Exception {
CronTrigger trigger = new CronTrigger("* 5 10 * * *", timeZone);
calendar.set(Calendar.MINUTE, 4);
calendar.set(Calendar.HOUR_OF_DAY, 9);
Date date = calendar.getTime();
calendar.add(Calendar.MINUTE, 1);
calendar.add(Calendar.HOUR_OF_DAY, 1);
calendar.set(Calendar.SECOND, 0);
TriggerContext context1 = getTriggerContext(date);
assertEquals(calendar.getTime(), date = trigger.nextExecutionTime(context1));
// next trigger is in one second because second is wildcard
calendar.add(Calendar.SECOND, 1);
TriggerContext context2 = getTriggerContext(date);
assertEquals(calendar.getTime(), date = trigger.nextExecutionTime(context2));
}
代码示例来源:origin: spring-projects/spring-framework
private void assertMatchesNextSecond(CronTrigger trigger, Calendar calendar) {
Date date = calendar.getTime();
roundup(calendar);
TriggerContext context = getTriggerContext(date);
assertEquals(calendar.getTime(), trigger.nextExecutionTime(context));
}
代码示例来源:origin: spring-projects/spring-framework
@Test
public void testIncrementDayOfWeekAndRollover() throws Exception {
CronTrigger trigger = new CronTrigger("* * * * * 2", timeZone);
calendar.set(Calendar.DAY_OF_WEEK, 4);
Date date = calendar.getTime();
calendar.add(Calendar.DAY_OF_MONTH, 6);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
TriggerContext context = getTriggerContext(date);
assertEquals(calendar.getTime(), trigger.nextExecutionTime(context));
assertEquals(Calendar.TUESDAY, calendar.get(Calendar.DAY_OF_WEEK));
}
代码示例来源:origin: spring-projects/spring-framework
@Test
public void testIncrementSecondAndRollover() throws Exception {
CronTrigger trigger = new CronTrigger("10 * * * * *", timeZone);
calendar.set(Calendar.SECOND, 11);
Date date = calendar.getTime();
calendar.add(Calendar.SECOND, 59);
TriggerContext context = getTriggerContext(date);
assertEquals(calendar.getTime(), trigger.nextExecutionTime(context));
}
代码示例来源:origin: spring-projects/spring-framework
@Test
public void testIncrementSecondByOne() throws Exception {
CronTrigger trigger = new CronTrigger("11 * * * * *", timeZone);
calendar.set(Calendar.SECOND, 10);
Date date = calendar.getTime();
calendar.add(Calendar.SECOND, 1);
TriggerContext context = getTriggerContext(date);
assertEquals(calendar.getTime(), trigger.nextExecutionTime(context));
}
代码示例来源:origin: spring-projects/spring-framework
@Test
public void testIncrementMinute() throws Exception {
CronTrigger trigger = new CronTrigger("0 * * * * *", timeZone);
calendar.set(Calendar.MINUTE, 10);
Date date = calendar.getTime();
calendar.add(Calendar.MINUTE, 1);
calendar.set(Calendar.SECOND, 0);
TriggerContext context1 = getTriggerContext(date);
date = trigger.nextExecutionTime(context1);
assertEquals(calendar.getTime(), date);
calendar.add(Calendar.MINUTE, 1);
TriggerContext context2 = getTriggerContext(date);
date = trigger.nextExecutionTime(context2);
assertEquals(calendar.getTime(), date);
}
代码示例来源:origin: spring-projects/spring-framework
@Test
public void testMatchAll() throws Exception {
CronTrigger trigger = new CronTrigger("* * * * * *", timeZone);
TriggerContext context = getTriggerContext(date);
assertEquals(calendar.getTime(), trigger.nextExecutionTime(context));
}
内容来源于网络,如有侵权,请联系作者删除!