Search in sources :

Example 16 with TriggerContext

use of org.springframework.scheduling.TriggerContext in project spring-framework by spring-projects.

the class CronTriggerTests method testIncrementSecondAndRollover.

@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));
}
Also used : TriggerContext(org.springframework.scheduling.TriggerContext) Date(java.util.Date) Test(org.junit.Test)

Example 17 with TriggerContext

use of org.springframework.scheduling.TriggerContext in project spring-framework by spring-projects.

the class CronTriggerTests method testWeekDaySequence.

@Test
public void testWeekDaySequence() throws Exception {
    CronTrigger trigger = new CronTrigger("0 0 7 ? * MON-FRI", timeZone);
    // This is a Saturday
    calendar.set(2009, 8, 26);
    Date date = calendar.getTime();
    // 7 am is the trigger time
    calendar.set(Calendar.HOUR_OF_DAY, 7);
    calendar.set(Calendar.MINUTE, 0);
    calendar.set(Calendar.SECOND, 0);
    // Add two days because we start on Saturday
    calendar.add(Calendar.DAY_OF_MONTH, 2);
    TriggerContext context1 = getTriggerContext(date);
    assertEquals(calendar.getTime(), date = trigger.nextExecutionTime(context1));
    // Next day is a week day so add one
    calendar.add(Calendar.DAY_OF_MONTH, 1);
    TriggerContext context2 = getTriggerContext(date);
    assertEquals(calendar.getTime(), date = trigger.nextExecutionTime(context2));
    calendar.add(Calendar.DAY_OF_MONTH, 1);
    TriggerContext context3 = getTriggerContext(date);
    assertEquals(calendar.getTime(), date = trigger.nextExecutionTime(context3));
}
Also used : TriggerContext(org.springframework.scheduling.TriggerContext) Date(java.util.Date) Test(org.junit.Test)

Example 18 with TriggerContext

use of org.springframework.scheduling.TriggerContext in project spring-framework by spring-projects.

the class CronTriggerTests method testSpecificDayOfMonthSecond.

@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));
}
Also used : TriggerContext(org.springframework.scheduling.TriggerContext) Date(java.util.Date) Test(org.junit.Test)

Example 19 with TriggerContext

use of org.springframework.scheduling.TriggerContext in project spring-framework by spring-projects.

the class CronTriggerTests method testIncrementDayOfMonthAndRollover.

@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));
}
Also used : TriggerContext(org.springframework.scheduling.TriggerContext) Date(java.util.Date) Test(org.junit.Test)

Example 20 with TriggerContext

use of org.springframework.scheduling.TriggerContext in project spring-framework by spring-projects.

the class CronTriggerTests method testSpecificMinuteSecond.

@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));
}
Also used : TriggerContext(org.springframework.scheduling.TriggerContext) Date(java.util.Date) Test(org.junit.Test)

Aggregations

TriggerContext (org.springframework.scheduling.TriggerContext)33 Date (java.util.Date)31 Test (org.junit.Test)31 Trigger (org.springframework.scheduling.Trigger)2 Method (java.lang.reflect.Method)1 Calendar (java.util.Calendar)1 List (java.util.List)1 ScheduledFuture (java.util.concurrent.ScheduledFuture)1 DirectFieldAccessor (org.springframework.beans.DirectFieldAccessor)1 BeanDefinition (org.springframework.beans.factory.config.BeanDefinition)1 RootBeanDefinition (org.springframework.beans.factory.support.RootBeanDefinition)1 CronTask (org.springframework.scheduling.config.CronTask)1 ScheduledTaskRegistrar (org.springframework.scheduling.config.ScheduledTaskRegistrar)1 CronTrigger (org.springframework.scheduling.support.CronTrigger)1 ScheduledMethodRunnable (org.springframework.scheduling.support.ScheduledMethodRunnable)1 SimpleTriggerContext (org.springframework.scheduling.support.SimpleTriggerContext)1