Example usage for org.springframework.batch.core JobExecution getExitStatus

List of usage examples for org.springframework.batch.core JobExecution getExitStatus

Introduction

In this page you can find the example usage for org.springframework.batch.core JobExecution getExitStatus.

Prototype

public ExitStatus getExitStatus() 

Source Link

Usage

From source file:com.apress.prospringintegration.springbatch.partition.IntegrationPartitionMain.java

public static void main(String[] args) throws Throwable {
    ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("message-partition.xml");
    context.start();/*  www .  j  a v  a2  s  .c  om*/

    MessageChannel launchChannel = context.getBean("launchChannel", MessageChannel.class);
    QueueChannel statusChannel = context.getBean("statusChannel", QueueChannel.class);

    Job job = (Job) context.getBean("importData");
    JobParametersBuilder jobParametersBuilder = new JobParametersBuilder();
    jobParametersBuilder.addDate("date", new Date());
    jobParametersBuilder.addString("input.file", "registrations");
    JobParameters jobParameters = jobParametersBuilder.toJobParameters();

    JobLaunchRequest jobLaunchRequest = new JobLaunchRequest(job, jobParameters);

    launchChannel.send(MessageBuilder.withPayload(jobLaunchRequest).build());

    Message<JobExecution> statusMessage = (Message<JobExecution>) statusChannel.receive();
    JobExecution jobExecution = statusMessage.getPayload();

    System.out.println(jobExecution);
    System.out.println("Exit status: " + jobExecution.getExitStatus().getExitCode());

    JobInstance jobInstance = jobExecution.getJobInstance();
    System.out.println("job instance Id: " + jobInstance.getId());
}

From source file:com.apress.prospringintegration.springbatch.integration.IntegrationMain.java

public static void main(String[] args) throws Throwable {
    ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("integration.xml");
    context.start();//from  w  ww  .j av a2  s. c  om

    MessageChannel launchChannel = context.getBean("launchChannel", MessageChannel.class);
    QueueChannel statusChannel = context.getBean("statusChannel", QueueChannel.class);

    Job job = (Job) context.getBean("importData");

    JobParametersBuilder jobParametersBuilder = new JobParametersBuilder();
    jobParametersBuilder.addDate("date", new Date());
    jobParametersBuilder.addString("input.file", "registrations");
    JobParameters jobParameters = jobParametersBuilder.toJobParameters();

    JobLaunchRequest jobLaunchRequest = new JobLaunchRequest(job, jobParameters);
    launchChannel.send(MessageBuilder.withPayload(jobLaunchRequest).build());

    Message<JobExecution> statusMessage = (Message<JobExecution>) statusChannel.receive();
    JobExecution jobExecution = statusMessage.getPayload();

    System.out.println(jobExecution);

    System.out.println("Exit status: " + jobExecution.getExitStatus().getExitCode());
    JobInstance jobInstance = jobExecution.getJobInstance();
    System.out.println("job instance Id: " + jobInstance.getId());
}

From source file:com.apress.prospringintegration.springbatch.integration.Main.java

public static void main(String[] args) throws Throwable {
    ClassPathXmlApplicationContext classPathXmlApplicationContext = new ClassPathXmlApplicationContext(
            "integration.xml");
    classPathXmlApplicationContext.start();

    JobLauncher jobLauncher = (JobLauncher) classPathXmlApplicationContext.getBean("jobLauncher");
    Job job = (Job) classPathXmlApplicationContext.getBean("importData");

    JobParametersBuilder jobParametersBuilder = new JobParametersBuilder();
    jobParametersBuilder.addDate("date", new Date());
    jobParametersBuilder.addString("input.file", "registrations");
    JobParameters jobParameters = jobParametersBuilder.toJobParameters();

    JobExecution jobExecution = jobLauncher.run(job, jobParameters);

    BatchStatus batchStatus = jobExecution.getStatus();
    while (batchStatus.isRunning()) {
        System.out.println("Still running...");
        Thread.sleep(1000);//from   w  ww. j  a v a  2s  .co  m
    }

    System.out.println("Exit status: " + jobExecution.getExitStatus().getExitCode());
    JobInstance jobInstance = jobExecution.getJobInstance();
    System.out.println("job instance Id: " + jobInstance.getId());
}

From source file:com.spring.batch.BatchMain.java

public static void main(String[] args) {
    ApplicationContext ctx = new ClassPathXmlApplicationContext("spring-batch.xml");
    JobParametersBuilder jobPara = new JobParametersBuilder(); // 

    Job job = (Job) ctx.getBean("sampleFlow");
    JobLauncher launcher = (JobLauncher) ctx.getBean("jobLauncher");

    JobExecution result = null;

    try {//ww w  .j  ava 2  s  .  co m
        result = launcher.run(job, jobPara.toJobParameters());
    } catch (JobExecutionAlreadyRunningException e) {
        e.printStackTrace();
    } catch (JobRestartException e) {
        e.printStackTrace();
    } catch (JobInstanceAlreadyCompleteException e) {
        e.printStackTrace();
    } catch (JobParametersInvalidException e) {
        e.printStackTrace();
    }

    ExitStatus es = result.getExitStatus();
    if (es.getExitCode().equals(ExitStatus.COMPLETED.getExitCode())) {
        System.out.println("finished");
    } else {
        System.out.println("failed");
    }
}

From source file:org.trpr.platform.batch.impl.spring.admin.repository.MapJobExecutionDao.java

/**
 * Returns a copy of {@link JobExecution}, by adding new Objects for every field(no references are passed)
 * /*  w ww  .  j ava 2  s  . c  o m*/
 * @param original JobExecution to be copied
 * @return JobExecution copy
 */
private static JobExecution copy(JobExecution original) {
    JobInstance jobInstance = original.getJobInstance();
    JobExecution copy;
    if (jobInstance == null) {
        copy = new JobExecution(original.getId());
    }
    copy = new JobExecution(jobInstance, original.getId());
    if (original.getStartTime() != null) {
        copy.setStartTime((Date) original.getStartTime().clone());
    }
    if (original.getEndTime() != null) {
        copy.setEndTime((Date) original.getEndTime().clone());
    }
    if (original.getStatus() != null) {
        copy.setStatus(BatchStatus.valueOf(original.getStatus().name()));
    }
    if (original.getExitStatus() != null) {
        copy.setExitStatus(new ExitStatus(original.getExitStatus().getExitCode(),
                original.getExitStatus().getExitDescription()));
    }
    if (original.getCreateTime() != null) {
        copy.setCreateTime((Date) original.getCreateTime().clone());
    }
    if (original.getLastUpdated() != null) {
        copy.setLastUpdated((Date) original.getLastUpdated().clone());
    }
    copy.setVersion(original.getVersion());
    return copy;
}

From source file:be.ordina.springbatch.batch.listener.TrajectInformationJobExecutionListener.java

@Override
public void afterJob(JobExecution jobExecution) {
    if (jobExecution.getExitStatus().equals(ExitStatus.COMPLETED)) {
        int reads = jobExecution.getStepExecutions().stream().mapToInt(se -> se.getReadCount()).sum();
        int writes = jobExecution.getStepExecutions().stream().mapToInt(se -> se.getWriteCount()).sum();
        int skips = jobExecution.getStepExecutions().stream().mapToInt(se -> se.getSkipCount()).sum();
        System.out.println("BATCH COMPLETED WITH GREAT SUCCESS reads = [ " + reads + " ] writes = [ " + writes
                + " ] skips = [" + skips + "]");
        for (LicensePlateType licensePlateType : LicensePlateType.values()) {
            System.out.println(licensePlateType.name().toLowerCase() + " - "
                    + jobExecution.getExecutionContext().getInt(licensePlateType.name(), 0));
        }/*from www  .  ja  v  a 2 s  . co  m*/
        System.out.println(
                "Total grave errors this batch : " + jobExecution.getExecutionContext().getInt("graveErrors"));
        System.out.println("Total money stolen from the honest speeder : "
                + jobExecution.getExecutionContext().getDouble("total") + "");
    } else {
        System.err.println("BATCH COMPLETED WITH STATUS " + jobExecution.getExitStatus().getExitCode());
    }
}

From source file:no.magott.training.ex2.CurrencyImportIntegrationTest.java

@Test
public void batchRunsComplete() throws Exception {
    JobExecution jobExecution = launchJob();
    assertThat(jobExecution.getExitStatus().getExitCode(), equalTo(ExitStatus.COMPLETED.getExitCode()));
    assertThat(jobExecution.getEndTime(), notNullValue());
}

From source file:no.magott.training.ex1.SpursImportJobRetryIntegrationTest.java

@Test
public void jobCompletesSuccessfully() throws Exception {
    JobExecution jobExecution = launchJob();
    assertThat(jobExecution.getExitStatus().getExitCode(), equalTo(ExitStatus.COMPLETED.getExitCode()));
}

From source file:no.magott.training.ex1.SpursImportJobIntegrationTest.java

@Test
public void jobCompletesSuccessfully() throws Exception {

    JobExecution jobExecution = launchJob();
    assertThat(jobExecution.getExitStatus().getExitCode(), equalTo(ExitStatus.COMPLETED.getExitCode()));
}

From source file:com.manning.siia.batch.BatchTest.java

@Test
@SuppressWarnings("unchecked")
public void runBatch() throws Exception {
    //120 s should provide enough time for the poller to detect the file and process it
    JobExecution jobExecution = ((Message<JobExecution>) statusesChannel.receive(120000)).getPayload();
    ExitStatus exitStatus = jobExecution.getExitStatus();
    Assert.assertEquals(ExitStatus.COMPLETED, exitStatus);
    int count = jdbcTemplate.queryForInt("select count(*) from payments");
    Assert.assertEquals(27, count);/*from   w w w . jav  a 2 s  .c o m*/
}