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

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

Introduction

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

Prototype

public boolean isRunning() 

Source Link

Document

Test if this JobExecution indicates that it is running.

Usage

From source file:admin.jmx.SimpleJobExecutionMetrics.java

public boolean isJobRunning() {
    JobExecution jobExecution = getLatestJobExecution(jobName);
    return jobExecution == null ? false : jobExecution.isRunning();
}

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

@Override
public Set<JobExecution> findRunningJobExecutions(String jobName) {
    Set<JobExecution> result = new HashSet<JobExecution>();
    for (JobExecution exec : executionsById.values()) {
        if (!exec.getJobInstance().getJobName().equals(jobName) || !exec.isRunning()) {
            continue;
        }/*from w w  w .j av a 2s  . c  om*/
        result.add(copy(exec));
    }
    return result;
}

From source file:egovframework.rte.bat.core.launch.support.EgovCommandLineRunner.java

/**
 *  ? JobExecution ?? .//from  w  ww . ja  v  a  2s. c om
 * 
 * @param jobIdentifier
 * @return List<JobExecution> :  ? JobExecution ?
 */
private List<JobExecution> getRunningJobExecutions(String jobIdentifier) {
    List<JobExecution> jobExecutions = getJobExecutionsWithStatusGreaterThan(jobIdentifier,
            BatchStatus.COMPLETED);
    if (jobExecutions.isEmpty()) {
        return null;
    }
    List<JobExecution> result = new ArrayList<JobExecution>();
    for (JobExecution jobExecution : jobExecutions) {
        if (jobExecution.isRunning()) {
            result.add(jobExecution);
        }
    }
    return result.isEmpty() ? null : result;
}

From source file:com.xchanging.support.batch.admin.service.SimpleJobService.java

public JobExecution stop(Long jobExecutionId)
        throws NoSuchJobExecutionException, JobExecutionNotRunningException {

    JobExecution jobExecution = getJobExecution(jobExecutionId);
    if (!jobExecution.isRunning()) {
        throw new JobExecutionNotRunningException(
                "JobExecution is not running and therefore cannot be stopped");
    }//from   www . j  a  v a  2  s  .  c  o m

    logger.info("Stopping job execution: " + jobExecution);
    jobExecution.stop();
    jobRepository.update(jobExecution);
    return jobExecution;

}

From source file:com.xchanging.support.batch.admin.service.SimpleJobService.java

public JobExecution launch(String jobName, JobParameters jobParameters)
        throws NoSuchJobException, JobExecutionAlreadyRunningException, JobRestartException,
        JobInstanceAlreadyCompleteException, JobParametersInvalidException {

    Job job = jobLocator.getJob(jobName);

    JobExecution lastJobExecution = jobRepository.getLastJobExecution(jobName, jobParameters);
    boolean restart = false;
    if (lastJobExecution != null) {
        BatchStatus status = lastJobExecution.getStatus();
        if (status.isUnsuccessful() && status != BatchStatus.ABANDONED) {
            restart = true;/*from  w  ww  .j  a v  a2  s .com*/
        }
    }

    if (job.getJobParametersIncrementer() != null && !restart) {
        jobParameters = job.getJobParametersIncrementer().getNext(jobParameters);
    }

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

    if (jobExecution.isRunning()) {
        activeExecutions.add(jobExecution);
    }
    return jobExecution;

}

From source file:admin.service.SimpleJobService.java

@Override
public JobExecution stop(Long jobExecutionId)
        throws NoSuchJobExecutionException, JobExecutionNotRunningException {

    JobExecution jobExecution = getJobExecution(jobExecutionId);
    if (!jobExecution.isRunning()) {
        throw new JobExecutionNotRunningException(
                "JobExecution is not running and therefore cannot be stopped");
    }/*from w w w.j  a  v  a  2  s  . com*/

    logger.info("Stopping job execution: " + jobExecution);
    jobExecution.stop();
    jobRepository.update(jobExecution);
    return jobExecution;

}

From source file:com.xchanging.support.batch.admin.service.SimpleJobService.java

/**
 * Stop all the active jobs and wait for them (up to a time out) to finish
 * processing.//from w  ww  .java  2  s  .  c om
 */
public void destroy() throws Exception {

    Exception firstException = null;

    for (JobExecution jobExecution : activeExecutions) {
        try {
            if (jobExecution.isRunning()) {
                stop(jobExecution.getId());
            }
        } catch (JobExecutionNotRunningException e) {
            logger.info("JobExecution is not running so it cannot be stopped");
        } catch (Exception e) {
            logger.error("Unexpected exception stopping JobExecution", e);
            if (firstException == null) {
                firstException = e;
            }
        }
    }

    int count = 0;
    int maxCount = (shutdownTimeout + 1000) / 1000;
    while (!activeExecutions.isEmpty() && ++count < maxCount) {
        logger.error("Waiting for " + activeExecutions.size() + " active executions to complete");
        removeInactiveExecutions();
        Thread.sleep(1000L);
    }

    if (firstException != null) {
        throw firstException;
    }

}

From source file:com.xchanging.support.batch.admin.service.SimpleJobService.java

public JobExecution restart(Long jobExecutionId)
        throws NoSuchJobExecutionException, JobExecutionAlreadyRunningException, JobRestartException,
        JobInstanceAlreadyCompleteException, NoSuchJobException, JobParametersInvalidException {

    JobExecution target = getJobExecution(jobExecutionId);
    JobInstance lastInstance = target.getJobInstance();

    Job job = jobLocator.getJob(lastInstance.getJobName());

    JobExecution jobExecution = jobLauncher.run(job, target.getJobInstance().getJobParameters());

    if (jobExecution.isRunning()) {
        activeExecutions.add(jobExecution);
    }//from   ww w.j  a  v a  2s .c o  m
    return jobExecution;
}

From source file:admin.service.SimpleJobService.java

@Override
public JobExecution launch(String jobName, JobParameters jobParameters)
        throws NoSuchJobException, JobExecutionAlreadyRunningException, JobRestartException,
        JobInstanceAlreadyCompleteException, JobParametersInvalidException {

    Job job = jobLocator.getJob(jobName);

    JobExecution lastJobExecution = jobRepository.getLastJobExecution(jobName, jobParameters);
    boolean restart = false;
    if (lastJobExecution != null) {
        BatchStatus status = lastJobExecution.getStatus();
        if (status.isUnsuccessful() && status != BatchStatus.ABANDONED) {
            restart = true;//  w w  w . j a  v  a2s. co  m
        }
    }

    if (job.getJobParametersIncrementer() != null && !restart) {
        jobParameters = job.getJobParametersIncrementer().getNext(jobParameters);
    }

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

    if (jobExecution.isRunning()) {
        activeExecutions.add(jobExecution);
    }
    return jobExecution;

}

From source file:admin.service.SimpleJobService.java

@Override
public JobExecution restart(Long jobExecutionId)
        throws NoSuchJobExecutionException, JobExecutionAlreadyRunningException, JobRestartException,
        JobInstanceAlreadyCompleteException, NoSuchJobException, JobParametersInvalidException {

    JobExecution target = getJobExecution(jobExecutionId);
    JobInstance lastInstance = target.getJobInstance();

    Job job = jobLocator.getJob(lastInstance.getJobName());

    JobExecution jobExecution = jobLauncher.run(job, target.getJobParameters());

    if (jobExecution.isRunning()) {
        activeExecutions.add(jobExecution);
    }//from  w  w  w  .  j  a  v  a  2  s. c o m
    return jobExecution;
}