Spring scheduling beyond scheduled (#984)
This commit is contained in:
committed by
Grzegorz Piwowarek
parent
3fc01ee7e0
commit
9e48d87306
@@ -0,0 +1,47 @@
|
||||
package org.baeldung.taskscheduler;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
|
||||
import org.springframework.scheduling.support.CronTrigger;
|
||||
import org.springframework.scheduling.support.PeriodicTrigger;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
public class ThreadPoolTaskSchedulerExamples {
|
||||
@Autowired
|
||||
private ThreadPoolTaskScheduler taskScheduler;
|
||||
|
||||
@Autowired
|
||||
private CronTrigger cronTrigger;
|
||||
|
||||
@Autowired
|
||||
private PeriodicTrigger periodicTrigger;
|
||||
|
||||
@PostConstruct
|
||||
public void scheduleRunnableWithCronTrigger(){
|
||||
taskScheduler.schedule(new RunnableTask("Current Date"), new Date());
|
||||
taskScheduler.scheduleWithFixedDelay(new RunnableTask("Fixed 1 second Delay"), 1000);
|
||||
taskScheduler.scheduleWithFixedDelay(new RunnableTask("Current Date Fixed 1 second Delay"),new Date() , 1000);
|
||||
taskScheduler.scheduleAtFixedRate(new RunnableTask("Fixed Rate of 2 seconds"),new Date(), 2000);
|
||||
taskScheduler.scheduleAtFixedRate(new RunnableTask("Fixed Rate of 2 seconds"), 2000);
|
||||
taskScheduler.schedule(new RunnableTask("Cron Trigger"), cronTrigger);
|
||||
taskScheduler.schedule(new RunnableTask("Periodic Trigger"), periodicTrigger);
|
||||
}
|
||||
|
||||
class RunnableTask implements Runnable{
|
||||
|
||||
private String message;
|
||||
|
||||
public RunnableTask(String message){
|
||||
this.message = message;
|
||||
}
|
||||
@Override
|
||||
public void run() {
|
||||
System.out.println("Runnable Task with "+message+" on thread "+Thread.currentThread().getName());
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user