use of org.springframework.batch.core.explore.JobExplorer in project head by mifos.
the class TaskRunningIntegrationTest method testRunningSpecificTask.
@Test
public void testRunningSpecificTask() throws Exception {
cleanuUpBatchTables();
mifosScheduler = getMifosScheduler("org/mifos/framework/components/batchjobs/taskRunningTestTask.xml");
String jobName = "ApplyHolidayChangesTaskJob";
mifosScheduler.runIndividualTask(jobName);
Thread.sleep(3000);
JobExplorer explorer = mifosScheduler.getBatchJobExplorer();
List<String> executedJobs = explorer.getJobNames();
Assert.assertEquals(1, executedJobs.size());
Assert.assertTrue(jobName.equals(executedJobs.get(0)));
}
use of org.springframework.batch.core.explore.JobExplorer in project head by mifos.
the class BatchJobCatchUpIntegrationTest method testFailureDuringIncompleteTaskHandling.
@Test
public void testFailureDuringIncompleteTaskHandling() throws Exception {
mifosScheduler = getMifosScheduler("org/mifos/framework/components/batchjobs/catchUpTask3.xml");
JobLauncher jobLauncher = mifosScheduler.getBatchJobLauncher();
JobLocator jobLocator = mifosScheduler.getBatchJobLocator();
for (int i = 0; i < 3; i++) {
jobLauncher.run(jobLocator.getJob(jobName), MifosBatchJob.createJobParameters(new Date().getTime()));
Thread.sleep(5000);
}
JobExplorer explorer = mifosScheduler.getBatchJobExplorer();
List<JobInstance> jobInstances = explorer.getJobInstances(jobName, 0, 10);
Assert.assertEquals(3, jobInstances.size());
for (JobInstance jobInstance : jobInstances) {
List<JobExecution> jobExecutions = explorer.getJobExecutions(jobInstance);
Assert.assertEquals(1, jobExecutions.size());
Assert.assertEquals(BatchStatus.FAILED, jobExecutions.get(0).getStatus());
}
mifosScheduler.runIndividualTask(jobName);
Thread.sleep(5000);
explorer = mifosScheduler.getBatchJobExplorer();
jobInstances = explorer.getJobInstances(jobName, 0, 10);
Assert.assertEquals(4, jobInstances.size());
JobInstance jobInstance = jobInstances.get(0);
JobExecution jobExecution = explorer.getJobExecutions(jobInstance).get(0);
Assert.assertEquals(BatchStatus.COMPLETED, jobExecution.getStatus());
Assert.assertEquals(ExitStatus.COMPLETED, jobExecution.getExitStatus());
jobInstance = jobInstances.get(1);
jobExecution = explorer.getJobExecutions(jobInstance).get(0);
Assert.assertEquals(BatchStatus.FAILED, jobExecution.getStatus());
Assert.assertEquals(ExitStatus.FAILED, jobExecution.getExitStatus());
jobInstance = jobInstances.get(2);
jobExecution = explorer.getJobExecutions(jobInstance).get(0);
Assert.assertEquals(BatchStatus.COMPLETED, jobExecution.getStatus());
Assert.assertEquals(ExitStatus.COMPLETED, jobExecution.getExitStatus());
jobInstance = jobInstances.get(3);
jobExecution = explorer.getJobExecutions(jobInstance).get(0);
Assert.assertEquals(BatchStatus.COMPLETED, jobExecution.getStatus());
Assert.assertEquals(ExitStatus.COMPLETED, jobExecution.getExitStatus());
}
use of org.springframework.batch.core.explore.JobExplorer in project head by mifos.
the class BatchJobCatchUpIntegrationTest method testIncompleteTaskHandling.
@Test
public void testIncompleteTaskHandling() throws Exception {
mifosScheduler = getMifosScheduler("org/mifos/framework/components/batchjobs/catchUpTask2.xml");
JobLauncher jobLauncher = mifosScheduler.getBatchJobLauncher();
JobLocator jobLocator = mifosScheduler.getBatchJobLocator();
for (int i = 0; i < 3; i++) {
jobLauncher.run(jobLocator.getJob(jobName), MifosBatchJob.createJobParameters(new Date().getTime()));
Thread.sleep(1500);
}
JobExplorer explorer = mifosScheduler.getBatchJobExplorer();
List<JobInstance> jobInstances = explorer.getJobInstances(jobName, 0, 10);
Assert.assertEquals(3, jobInstances.size());
for (JobInstance jobInstance : jobInstances) {
List<JobExecution> jobExecutions = explorer.getJobExecutions(jobInstance);
Assert.assertEquals(1, jobExecutions.size());
Assert.assertEquals(BatchStatus.FAILED, jobExecutions.get(0).getStatus());
}
mifosScheduler.runIndividualTask(jobName);
Thread.sleep(5000);
jobInstances = explorer.getJobInstances(jobName, 0, 10);
Assert.assertEquals(4, jobInstances.size());
for (JobInstance jobInstance : jobInstances) {
List<JobExecution> jobExecutions = explorer.getJobExecutions(jobInstance);
Assert.assertEquals(BatchStatus.COMPLETED, jobExecutions.get(0).getStatus());
}
}
use of org.springframework.batch.core.explore.JobExplorer in project head by mifos.
the class ProductStatusHelperIntegrationTest method testExecuteTaskFailure.
@Test
public void testExecuteTaskFailure() throws Exception {
createInactiveLoanOffering();
mifosScheduler = getMifosScheduler("org/mifos/framework/components/batchjobs/productStatusTestTask2.xml");
mifosScheduler.runIndividualTask(jobName);
Thread.sleep(1000);
JobExplorer explorer = mifosScheduler.getBatchJobExplorer();
List<JobInstance> jobInstances = explorer.getJobInstances(jobName, 0, 10);
Assert.assertTrue(jobInstances.size() > 0);
JobInstance lastInstance = jobInstances.get(0);
List<JobExecution> jobExecutions = explorer.getJobExecutions(lastInstance);
Assert.assertEquals(1, jobExecutions.size());
JobExecution lastExecution = jobExecutions.get(0);
Assert.assertEquals(BatchStatus.FAILED, lastExecution.getStatus());
product = (LoanOfferingBO) TestObjectFactory.getObject(LoanOfferingBO.class, product.getPrdOfferingId());
Assert.assertEquals(PrdStatus.LOAN_INACTIVE, product.getStatus());
}
use of org.springframework.batch.core.explore.JobExplorer in project head by mifos.
the class MifosScheduler method getJobsPreviousRunStatus.
public String getJobsPreviousRunStatus(String jobName) {
JobExplorer explorer = getBatchJobExplorer();
List<JobInstance> jobInstances = explorer.getJobInstances(jobName, 0, 1);
if (jobInstances.size() == 0) {
return "Never executed yet";
}
List<JobExecution> jobExecutions = explorer.getJobExecutions(jobInstances.get(0));
if (jobExecutions.size() == 0) {
return "Never executed yet";
}
String runStatus = jobExecutions.get(0).getStatus().toString();
runStatus = runStatus.substring(0, 1) + runStatus.substring(1).toLowerCase();
return runStatus;
}
Aggregations