Bael-1965: using awaitility in test (#4691)
* how to trigger and stop scheduled batch job * Replace thread.sleep to awaitility tool in integration testing
This commit is contained in:
@@ -6,7 +6,7 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ScheduledFuture;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
import org.baeldung.batchscheduler.model.Book;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@@ -45,7 +45,7 @@ public class SpringBatchScheduler {
|
||||
|
||||
private AtomicBoolean enabled = new AtomicBoolean(true);
|
||||
|
||||
private Date currentLaunchDate;
|
||||
private AtomicInteger batchRunCounter = new AtomicInteger(0);
|
||||
|
||||
private final Map<Object, ScheduledFuture<?>> scheduledTasks = new IdentityHashMap<>();
|
||||
|
||||
@@ -60,18 +60,14 @@ public class SpringBatchScheduler {
|
||||
Date date = new Date();
|
||||
logger.debug("scheduler starts at " + date);
|
||||
if (enabled.get()) {
|
||||
currentLaunchDate = date;
|
||||
JobExecution jobExecution = jobLauncher().run(job(), new JobParametersBuilder().addDate("launchDate", currentLaunchDate)
|
||||
JobExecution jobExecution = jobLauncher().run(job(), new JobParametersBuilder().addDate("launchDate", date)
|
||||
.toJobParameters());
|
||||
batchRunCounter.incrementAndGet();
|
||||
logger.debug("Batch job ends with status as " + jobExecution.getStatus());
|
||||
}
|
||||
logger.debug("scheduler ends ");
|
||||
}
|
||||
|
||||
public Date getCurrentLaunchDate() {
|
||||
return currentLaunchDate;
|
||||
}
|
||||
|
||||
public void stop() {
|
||||
enabled.set(false);
|
||||
}
|
||||
@@ -169,4 +165,8 @@ public class SpringBatchScheduler {
|
||||
};
|
||||
}
|
||||
|
||||
public AtomicInteger getBatchRunCounter() {
|
||||
return batchRunCounter;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user