
com.jpattern.batch.execution.RunOnceJobExecutionStrategy Maven / Gradle / Ivy
package com.jpattern.batch.execution;
import com.jpattern.batch.JobExecutionStrategy;
/**
*
* Execute a job only once
*
* @author Francesco Cina'
*
* 04/giu/2010
*/
public class RunOnceJobExecutionStrategy implements JobExecutionStrategy {
private static final long serialVersionUID = 1L;
private final int _executionTime;
private int _executedTime = 0;
public RunOnceJobExecutionStrategy() {
_executionTime = 1;
}
@Override
public boolean canExecute() {
if (_executedTime >= _executionTime) {
return false;
}
_executedTime++;
return true;
}
@Override
public String asString() {
final int remainig = (_executionTime - _executedTime) < 0 ? 0 : (_executionTime - _executedTime);
return "RunOnceJobExecution, remaining " + remainig + " executions";
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy