
com.jpattern.batch.execution.IntervalJobExecutionStrategy Maven / Gradle / Ivy
package com.jpattern.batch.execution;
import java.util.Date;
import com.jpattern.batch.JobExecutionStrategy;
/**
*
* Execute a job every prefixed interval of time
*
* @author Francesco Cina'
*
* 27/mar/2010
*/
public class IntervalJobExecutionStrategy implements JobExecutionStrategy {
private static final long serialVersionUID = 1L;
private final long interval;
private long lastTimeStamp;
public IntervalJobExecutionStrategy( long repeatEveryMilliseconds ) {
interval = repeatEveryMilliseconds;
lastTimeStamp = new Date().getTime();
}
@Override
public boolean canExecute() {
final long now = new Date().getTime();
if ( now >= (lastTimeStamp + interval)) {
lastTimeStamp = now;
return true;
}
return false;
}
@Override
public String asString() {
return "IntervalJobExecution repeat every " + interval + " milliseconds";
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy