Search in sources :

Example 6 with JobExplorer

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)));
}
Also used : JobExplorer(org.springframework.batch.core.explore.JobExplorer) Test(org.junit.Test)

Example 7 with JobExplorer

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());
}
Also used : JobExecution(org.springframework.batch.core.JobExecution) JobLauncher(org.springframework.batch.core.launch.JobLauncher) JobInstance(org.springframework.batch.core.JobInstance) JobLocator(org.springframework.batch.core.configuration.JobLocator) JobExplorer(org.springframework.batch.core.explore.JobExplorer) Date(java.util.Date) Test(org.junit.Test)

Example 8 with JobExplorer

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());
    }
}
Also used : JobExecution(org.springframework.batch.core.JobExecution) JobLauncher(org.springframework.batch.core.launch.JobLauncher) JobInstance(org.springframework.batch.core.JobInstance) JobLocator(org.springframework.batch.core.configuration.JobLocator) JobExplorer(org.springframework.batch.core.explore.JobExplorer) Date(java.util.Date) Test(org.junit.Test)

Example 9 with JobExplorer

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());
}
Also used : JobExecution(org.springframework.batch.core.JobExecution) JobInstance(org.springframework.batch.core.JobInstance) JobExplorer(org.springframework.batch.core.explore.JobExplorer) Test(org.junit.Test)

Example 10 with JobExplorer

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;
}
Also used : JobExecution(org.springframework.batch.core.JobExecution) JobInstance(org.springframework.batch.core.JobInstance) JobExplorer(org.springframework.batch.core.explore.JobExplorer)

Aggregations

JobExplorer (org.springframework.batch.core.explore.JobExplorer)16 Test (org.junit.Test)12 JobInstance (org.springframework.batch.core.JobInstance)12 JobExecution (org.springframework.batch.core.JobExecution)11 Date (java.util.Date)5 Ignore (org.junit.Ignore)3 StepExecution (org.springframework.batch.core.StepExecution)3 JobLocator (org.springframework.batch.core.configuration.JobLocator)3 JobLauncher (org.springframework.batch.core.launch.JobLauncher)3 AnnotationConfigApplicationContext (org.springframework.context.annotation.AnnotationConfigApplicationContext)2 Calendar (java.util.Calendar)1 ProductStatus (org.mifos.framework.components.batchjobs.helpers.ProductStatus)1 CronTrigger (org.quartz.CronTrigger)1 JobDataMap (org.quartz.JobDataMap)1 JobDetail (org.quartz.JobDetail)1 JobExecutionContext (org.quartz.JobExecutionContext)1 Scheduler (org.quartz.Scheduler)1 BaseCalendar (org.quartz.impl.calendar.BaseCalendar)1 TriggerFiredBundle (org.quartz.spi.TriggerFiredBundle)1 JobParameters (org.springframework.batch.core.JobParameters)1