Java 类org.springframework.batch.core.JobExecution 实例源码

项目:composed-task-runner    文件:ComposedTaskRunnerConfigurationWithPropertiesTests.java   
@Test
@DirtiesContext
public void testComposedConfiguration() throws Exception {
    JobExecution jobExecution = this.jobRepository.createJobExecution(
            "ComposedTest", new JobParameters());
    job.execute(jobExecution);

    Map<String, String> props = new HashMap<>(1);
    props.put("format", "yyyy");
    assertEquals(1010, composedTaskProperties.getMaxWaitTime());
    assertEquals(1100, composedTaskProperties.getIntervalTimeBetweenChecks());
    assertEquals("http://bar", composedTaskProperties.getDataflowServerUri().toASCIIString());

    List<String> args = new ArrayList<>(1);
    args.add("--baz=boo");
    Assert.isNull(job.getJobParametersIncrementer(), "JobParametersIncrementer must be null.");
    verify(this.taskOperations).launch("AAA", props, args);
}
项目:composed-task-runner    文件:ComposedTaskRunnerConfigurationNoPropertiesTests.java   
@Test
@DirtiesContext
public void testComposedConfiguration() throws Exception {
    JobExecution jobExecution = this.jobRepository.createJobExecution(
            "ComposedTest", new JobParameters());
    job.execute(jobExecution);

    Assert.isNull(job.getJobParametersIncrementer(), "JobParametersIncrementer must be null.");
    verify(this.taskOperations).launch("AAA", new HashMap<String, String>(0), new ArrayList<String>(0));
}
项目:nixmash-blog    文件:DemoJobRunner.java   
@Scheduled(fixedDelayString = "${demo.job.fixed.delay.seconds:60}000")
public void runDemoJob() {

    SimpleDateFormat format = new SimpleDateFormat("M-dd-yy hh:mm:ss");
    String startDateTime = format.format(new Date());

    JobParameters jobParameters =
            new JobParametersBuilder()
                    .addLong("iterations", iterations)
                    .addString("username", username)
                    .addLong("time", System.currentTimeMillis()).toJobParameters();

    try {
        logger.info("");
        logger.info("STARTING BATCH JOB AT " + startDateTime);
        JobExecution execution = jobLauncher.run(demoJob, jobParameters);
        logger.info("JOB STATUS : " + execution.getStatus());
    } catch (Exception e) {
        e.printStackTrace();
        logger.info("JOB FAILED!!!");
    }

}
项目:kowalski    文件:Application.java   
public void start() throws IOException, InterruptedException {
    List<JobExecution> jobExecutions = new ArrayList<>();
    // launch jobs
    jobExecutions.addAll(IntStream.range(0, this.cardinality).mapToObj(i -> {
        Job analysisJob = this.jobFactory.get();
        JobParametersBuilder jobParametersBuilder = new JobParametersBuilder();
        jobParametersBuilder.addString("id", analysisJob.getName() + "-" + i, true);
        try {
            return this.jobLauncher.run(analysisJob, jobParametersBuilder.toJobParameters());
        } catch (JobExecutionAlreadyRunningException | JobRestartException | JobInstanceAlreadyCompleteException
                | JobParametersInvalidException exception) {
            throw new RuntimeException(exception);
        }
    }).collect(Collectors.toList()));
    // wait for termination
    while (jobExecutions.stream().anyMatch(jobExecution -> jobExecution.getStatus().isRunning())) {
        Thread.sleep(1000);
    }
}
项目:oma-riista-web    文件:LHHuntingClubCSVCleaner.java   
@Override
public void afterJob(final JobExecution jobExecution) {
    if (ExitStatus.COMPLETED.equals(jobExecution.getExitStatus())) {
        final ExecutionContext executionContext = jobExecution.getExecutionContext();
        final String inputFile = executionContext.getString(LHHuntingClubBatchConfig.KEY_INPUT_FILE, null);

        if (inputFile != null) {
            final Path path = Paths.get(inputFile);

            try {
                LOG.info("Deleting temporary file: {}", inputFile);
                Files.deleteIfExists(path);

            } catch (IOException e) {
                e.printStackTrace();
            }
        } else {
            LOG.warn("Input file not found in context");
        }
    }
}
项目:https-github.com-g0t4-jenkins2-course-spring-boot    文件:BatchAutoConfigurationTests.java   
@Bean
public Job discreteJob() {
    AbstractJob job = new AbstractJob("discreteRegisteredJob") {

        @Override
        public Collection<String> getStepNames() {
            return Collections.emptySet();
        }

        @Override
        public Step getStep(String stepName) {
            return null;
        }

        @Override
        protected void doExecute(JobExecution execution)
                throws JobExecutionException {
            execution.setStatus(BatchStatus.COMPLETED);
        }
    };
    job.setJobRepository(this.jobRepository);
    return job;
}
项目:https-github.com-g0t4-jenkins2-course-spring-boot    文件:BatchAutoConfigurationTests.java   
@Bean
public Job discreteJob() {
    AbstractJob job = new AbstractJob("discreteLocalJob") {

        @Override
        public Collection<String> getStepNames() {
            return Collections.emptySet();
        }

        @Override
        public Step getStep(String stepName) {
            return null;
        }

        @Override
        protected void doExecute(JobExecution execution)
                throws JobExecutionException {
            execution.setStatus(BatchStatus.COMPLETED);
        }
    };
    job.setJobRepository(this.jobRepository);
    return job;
}
项目:SpringRestBatch    文件:JobCompletionNotificationListener.java   
@Override
    public void afterJob(JobExecution jobExecution) {

        LOGGER.info("RUNNING JobCompletion Check.");

        long cnt = movieRepository.count();

        LOGGER.info("Total Movies Saved: {}", cnt);

//        Shutdown when Job is Finished (for Windows PC)
//        Runtime runtime = Runtime.getRuntime();
//        String command = "shutdown /s";
//        try {
//            Process proc = runtime.exec(command);
//        } catch (IOException e) {
//            System.out.println(e.getMessage());
//            e.printStackTrace();
//        }

     }
项目:spring-boot-concourse    文件:BatchAutoConfigurationTests.java   
@Bean
public Job discreteJob() {
    AbstractJob job = new AbstractJob("discreteRegisteredJob") {

        @Override
        public Collection<String> getStepNames() {
            return Collections.emptySet();
        }

        @Override
        public Step getStep(String stepName) {
            return null;
        }

        @Override
        protected void doExecute(JobExecution execution)
                throws JobExecutionException {
            execution.setStatus(BatchStatus.COMPLETED);
        }
    };
    job.setJobRepository(this.jobRepository);
    return job;
}
项目:spring-boot-concourse    文件:BatchAutoConfigurationTests.java   
@Bean
public Job discreteJob() {
    AbstractJob job = new AbstractJob("discreteLocalJob") {

        @Override
        public Collection<String> getStepNames() {
            return Collections.emptySet();
        }

        @Override
        public Step getStep(String stepName) {
            return null;
        }

        @Override
        protected void doExecute(JobExecution execution)
                throws JobExecutionException {
            execution.setStatus(BatchStatus.COMPLETED);
        }
    };
    job.setJobRepository(this.jobRepository);
    return job;
}
项目:Spring-Batch-en-Castellano    文件:Main.java   
public static void main(String[] args) {

        String[] springConfig = { "spring/batch/jobs/job-config.xml" };

        @SuppressWarnings("resource")
        ApplicationContext context = new ClassPathXmlApplicationContext(springConfig);

        JobLauncher jobLauncher = (JobLauncher) context.getBean("jobLauncher");
        Job job = (Job) context.getBean("multiResourceItemReaderJob");

        try {
            JobParameters jobParameters = new JobParametersBuilder().addLong("time",System.currentTimeMillis()).toJobParameters();
            JobExecution execution = jobLauncher.run(job, jobParameters);
            System.out.println("Exit Status : " + execution.getStatus());
            System.out.println("Exit Status : " + execution.getAllFailureExceptions());

        } catch (Exception e) {
            e.printStackTrace();
        }

        System.out.println("Done");

    }
项目:Spring-Batch-en-Castellano    文件:Main.java   
public static void main(String[] args) {

        String[] springConfig = { "spring/batch/jobs/job-config.xml" };

        @SuppressWarnings("resource")
        ApplicationContext context = new ClassPathXmlApplicationContext(springConfig);

        JobLauncher jobLauncher = (JobLauncher) context.getBean("jobLauncher");
        Job job = (Job) context.getBean("customReaderWriterProcesorJob");

        try {
            JobParameters jobParameters = new JobParametersBuilder().addLong("time",System.currentTimeMillis()).toJobParameters();
            JobExecution execution = jobLauncher.run(job, jobParameters);
            System.out.println("Exit Status : " + execution.getStatus());
            System.out.println("Exit Status : " + execution.getAllFailureExceptions());

        } catch (Exception e) {
            e.printStackTrace();
        }

        System.out.println("Done");

    }
项目:Spring-Batch-en-Castellano    文件:Main.java   
public static void main(String[] args) {

        String[] springConfig = { "spring/batch/jobs/job-config.xml" };

        @SuppressWarnings("resource")
        ApplicationContext context = new ClassPathXmlApplicationContext(springConfig);

        JobLauncher jobLauncher = (JobLauncher) context.getBean("jobLauncher");
        Job job = (Job) context.getBean("taskletJob");

        try {
            JobParameters jobParameters = new JobParametersBuilder().addLong("time",System.currentTimeMillis()).toJobParameters();
            JobExecution execution = jobLauncher.run(job, jobParameters);
            System.out.println("Exit Status : " + execution.getStatus());
            System.out.println("Exit Status : " + execution.getAllFailureExceptions());

        } catch (Exception e) {
            e.printStackTrace();
        }

        System.out.println("Done");

    }
项目:Spring-Batch-en-Castellano    文件:Main.java   
public static void main(String[] args) {

        String[] springConfig = { "spring/batch/jobs/job-config.xml" };

        @SuppressWarnings("resource")
        ApplicationContext context = new ClassPathXmlApplicationContext(springConfig);

        JobLauncher jobLauncher = (JobLauncher) context.getBean("jobLauncher");
        Job job = (Job) context.getBean("customListeners");

        try {
            JobParameters jobParameters = new JobParametersBuilder().addLong("time",System.currentTimeMillis()).toJobParameters();
            JobExecution execution = jobLauncher.run(job, jobParameters);
            System.out.println("Exit Status : " + execution.getStatus());
            System.out.println("Exit Status : " + execution.getAllFailureExceptions());

        } catch (Exception e) {
            e.printStackTrace();
        }

        System.out.println("Done");

    }
项目:Spring-Batch-en-Castellano    文件:Main.java   
public static void main(String[] args) {

        String[] springConfig = { "spring/batch/jobs/job-config.xml" };

        @SuppressWarnings("resource")
        ApplicationContext context = new ClassPathXmlApplicationContext(springConfig);

        JobLauncher jobLauncher = (JobLauncher) context.getBean("jobLauncher");
        Job job = (Job) context.getBean("flatFileItemWriterJob");

        try {
            JobParameters jobParameters = new JobParametersBuilder().addLong("time",System.currentTimeMillis()).toJobParameters();
            JobExecution execution = jobLauncher.run(job, jobParameters);
            System.out.println("Exit Status : " + execution.getStatus());
            System.out.println("Exit Status : " + execution.getAllFailureExceptions());

        } catch (Exception e) {
            e.printStackTrace();
        }

        System.out.println("Done");

    }
项目:Spring-Batch-en-Castellano    文件:Main.java   
public static void main(String[] args) {

        String[] springConfig = { "spring/batch/jobs/job-config.xml" };

        @SuppressWarnings("resource")
        ApplicationContext context = new ClassPathXmlApplicationContext(springConfig);

        JobLauncher jobLauncher = (JobLauncher) context.getBean("jobLauncher");
        Job job = (Job) context.getBean("parallelStepsJob");

        try {
            JobParameters jobParameters = new JobParametersBuilder().addLong("time",System.currentTimeMillis()).toJobParameters();
            JobExecution execution = jobLauncher.run(job, jobParameters);
            System.out.println("Exit Status : " + execution.getStatus());
            System.out.println("Exit Status : " + execution.getAllFailureExceptions());

        } catch (Exception e) {
            e.printStackTrace();
        }

        System.out.println("Done");

    }
项目:Spring-Batch-en-Castellano    文件:Main.java   
public static void main(String[] args) {

        String[] springConfig = { "spring/batch/jobs/job-config.xml" };

        @SuppressWarnings("resource")
        ApplicationContext context = new ClassPathXmlApplicationContext(springConfig);

        JobLauncher jobLauncher = (JobLauncher) context.getBean("jobLauncher");
        Job job = (Job) context.getBean("chunkJob");

        try {
            JobParameters jobParameters = new JobParametersBuilder().addLong("time",System.currentTimeMillis()).toJobParameters();
            JobExecution execution = jobLauncher.run(job, jobParameters);
            System.out.println("Exit Status : " + execution.getStatus());
            System.out.println("Exit Status : " + execution.getAllFailureExceptions());

        } catch (Exception e) {
            e.printStackTrace();
        }

        System.out.println("Done");

    }
项目:Spring-Batch-en-Castellano    文件:Main.java   
public static void main(String[] args) {

        String[] springConfig = { "spring/batch/jobs/job-config.xml" };

        @SuppressWarnings("resource")
        ApplicationContext context = new ClassPathXmlApplicationContext(springConfig);

        JobLauncher jobLauncher = (JobLauncher) context.getBean("jobLauncher");
        Job job = (Job) context.getBean("secuentialControlFlow");

        try {
            JobParameters jobParameters = new JobParametersBuilder().addLong("time",System.currentTimeMillis()).toJobParameters();
            JobExecution execution = jobLauncher.run(job, jobParameters);
            System.out.println("Exit Status : " + execution.getStatus());
            System.out.println("Exit Status : " + execution.getAllFailureExceptions());

        } catch (Exception e) {
            e.printStackTrace();
        }

        System.out.println("Done");

    }
项目:Spring-Batch-en-Castellano    文件:Main.java   
public static void main(String[] args) {

        String[] springConfig = { "spring/batch/jobs/job-config.xml" };

        @SuppressWarnings("resource")
        ApplicationContext context = new ClassPathXmlApplicationContext(springConfig);

        JobLauncher jobLauncher = (JobLauncher) context.getBean("jobLauncher");
        Job job = (Job) context.getBean("xmlReadersWritersJob");

        try {
            JobParameters jobParameters = new JobParametersBuilder().addLong("time",System.currentTimeMillis()).toJobParameters();
            JobExecution execution = jobLauncher.run(job, jobParameters);
            System.out.println("Exit Status : " + execution.getStatus());
            System.out.println("Exit Status : " + execution.getAllFailureExceptions());

        } catch (Exception e) {
            e.printStackTrace();
        }

        System.out.println("Done");

    }
项目:Spring-Batch-en-Castellano    文件:Main.java   
public static void main(String[] args) {

        String[] springConfig = { "spring/batch/jobs/job-config.xml" };

        @SuppressWarnings("resource")
        ApplicationContext context = new ClassPathXmlApplicationContext(springConfig);

        JobLauncher jobLauncher = (JobLauncher) context.getBean("jobLauncher");
        Job job = (Job) context.getBean("taskletJob");

        try {
            JobParameters jobParameters = new JobParametersBuilder().addLong("time",System.currentTimeMillis()).toJobParameters();
            JobExecution execution = jobLauncher.run(job, jobParameters);
            System.out.println("Exit Status : " + execution.getStatus());
            System.out.println("Exit Status : " + execution.getAllFailureExceptions());

        } catch (Exception e) {
            e.printStackTrace();
        }

        System.out.println("Done");

    }
项目:Camel    文件:SpringBatchProducer.java   
@Override
public void process(Exchange exchange) throws Exception {

    JobParameters jobParameters = prepareJobParameters(exchange.getIn().getHeaders());
    String messageJobName = jobParameters.getString(SpringBatchConstants.JOB_NAME);

    Job job2run = this.job;

    if (messageJobName != null) {
        job2run = CamelContextHelper.mandatoryLookup(getEndpoint().getCamelContext(), messageJobName, Job.class);
    }

    if (job2run == null) {
        exchange.setException(new CamelExchangeException("jobName was not specified in the endpoint construction "
                + " and header " + SpringBatchConstants.JOB_NAME + " could not be found", exchange));
        return;
    }

    JobExecution jobExecution = jobLauncher.run(job2run, jobParameters);
    exchange.getOut().getHeaders().putAll(exchange.getIn().getHeaders());
    exchange.getOut().setBody(jobExecution);
}
项目:spring-cloud-task    文件:JobExecutionEventTests.java   
@Test
public void testJobParameters() {
    String[] JOB_PARAM_KEYS = {"A", "B", "C", "D"};
    Date testDate = new Date();
    JobParameter[] PARAMETERS = {new JobParameter("FOO", true), new JobParameter(1L, true),
            new JobParameter(1D, true), new JobParameter(testDate, false)};

    Map jobParamMap = new LinkedHashMap<>();
    for (int paramCount = 0; paramCount < JOB_PARAM_KEYS.length; paramCount++) {
        jobParamMap.put(JOB_PARAM_KEYS[paramCount], PARAMETERS[paramCount]);
    }
    jobParameters = new JobParameters(jobParamMap);
    JobExecution jobExecution = new JobExecution(jobInstance, JOB_EXECUTION_ID, jobParameters, JOB_CONFIGURATION_NAME);
    JobExecutionEvent jobExecutionEvent = new JobExecutionEvent(jobExecution);

    assertNotNull("Job Parameter A was expected", jobExecutionEvent.getJobParameters().getString("A"));
    assertNotNull("Job Parameter B was expected", jobExecutionEvent.getJobParameters().getLong("B"));
    assertNotNull("Job Parameter C was expected", jobExecutionEvent.getJobParameters().getDouble("C"));
    assertNotNull("Job Parameter D was expected", jobExecutionEvent.getJobParameters().getDate("D"));

    assertEquals("Job Parameter A value was not correct", "FOO", jobExecutionEvent.getJobParameters().getString("A"));
    assertEquals("Job Parameter B value was not correct", new Long(1), jobExecutionEvent.getJobParameters().getLong("B"));
    assertEquals("Job Parameter C value was not correct", new Double(1), jobExecutionEvent.getJobParameters().getDouble("C"));
    assertEquals("Job Parameter D value was not correct", testDate, jobExecutionEvent.getJobParameters().getDate("D"));
}
项目:spring-cloud-dataflow    文件:DefaultTaskJobService.java   
@Override
public void restartJobExecution(long jobExecutionId) throws NoSuchJobExecutionException {
    logger.info("Restarting Job with Id " + jobExecutionId);

    final TaskJobExecution taskJobExecution = this.getJobExecution(jobExecutionId);
    final JobExecution jobExecution = taskJobExecution.getJobExecution();

    if (!JobUtils.isJobExecutionRestartable(taskJobExecution.getJobExecution())) {
        throw new JobNotRestartableException(
                String.format("JobExecution with Id '%s' and state '%s' is not " + "restartable.",
                        jobExecution.getId(), taskJobExecution.getJobExecution().getStatus()));
    }

    TaskExecution taskExecution = this.taskExplorer.getTaskExecution(taskJobExecution.getTaskId());

    TaskDefinition taskDefinition = this.taskDefinitionRepository.findOne(taskExecution.getTaskName());

    if (taskDefinition == null) {
        throw new NoSuchTaskDefinitionException(taskExecution.getTaskName());
    }

    taskService.executeTask(taskDefinition.getName(), taskDefinition.getProperties(), taskExecution.getArguments());
}
项目:eMonocot    文件:FlatFileCreatorIntegrationTest.java   
@Test
public void testWriteChecklistPdf() throws Exception {
    Map<String, JobParameter> parameters = new HashMap<String, JobParameter>();
    parameters.put("query", new JobParameter(""));
    parameters.put("selected.facets", new JobParameter("taxon.family_ss=Araceae"));
    parameters.put("download.taxon", new JobParameter(toParameter(DarwinCorePropertyMap.getConceptTerms(DwcTerm.Taxon))));
    parameters.put("download.file", new JobParameter(UUID.randomUUID().toString() + ".pdf"));
    parameters.put("download.limit", new JobParameter(new Integer(Integer.MAX_VALUE).toString()));
    parameters.put("download.fieldsTerminatedBy", new JobParameter("\t"));
    parameters.put("download.fieldsEnclosedBy", new JobParameter("\""));
    parameters.put("download.sort", new JobParameter("searchable.label_sort_asc"));
    parameters.put("download.format", new JobParameter("hierarchicalChecklist"));
    parameters.put("download.template.filepath", new JobParameter("org/emonocot/job/download/reports/name_report1.jrxml"));

    JobParameters jobParameters = new JobParameters(parameters);
    Job archiveCreatorJob = jobLocator.getJob("FlatFileCreation");
    assertNotNull("flatFileCreator Job must exist", archiveCreatorJob);
    JobExecution jobExecution = jobLauncher.run(archiveCreatorJob,
            jobParameters);

    assertEquals("The Job should be sucessful", ExitStatus.COMPLETED, jobExecution.getExitStatus());
}
项目:spring-cloud-task    文件:JobExecutionEvent.java   
/**
 * Constructor for the StepExecution to initialize the DTO.
 *
 * @param original the StepExecution to build this DTO around.
 */
public JobExecutionEvent(JobExecution original) {
    this.jobParameters = new JobParametersEvent(original.getJobParameters().getParameters());
    this.jobInstance = new JobInstanceEvent(original.getJobInstance().getId(), original.getJobInstance().getJobName());
    for(StepExecution stepExecution : original.getStepExecutions()){
        stepExecutions.add(new StepExecutionEvent(stepExecution));
    }
    this.status = original.getStatus();
    this.startTime = original.getStartTime();
    this.createTime = original.getCreateTime();
    this.endTime = original.getEndTime();
    this.lastUpdated = original.getLastUpdated();
    this.exitStatus = new ExitStatus(original.getExitStatus());
    this.executionContext = original.getExecutionContext();
    this.failureExceptions = original.getFailureExceptions();
    this.jobConfigurationName = original.getJobConfigurationName();
    this.setId(original.getId());
    this.setVersion(original.getVersion());
}
项目:eMonocot    文件:FlatFileCreatorIntegrationTest.java   
/**
 * @throws Exception
 */
@Test
public void testWriteTaxonFile() throws Exception {
    Map<String, JobParameter> parameters = new HashMap<String, JobParameter>();
    parameters.put("query", new JobParameter(""));
    parameters.put("selected.facets", new JobParameter("taxon.family_ss=Araceae"));
    parameters.put("download.taxon", new JobParameter(toParameter(DarwinCorePropertyMap.getConceptTerms(DwcTerm.Taxon))));
    parameters.put("download.file", new JobParameter(UUID.randomUUID().toString() + ".txt"));
    parameters.put("download.limit", new JobParameter(new Integer(Integer.MAX_VALUE).toString()));
    parameters.put("download.fieldsTerminatedBy", new JobParameter("\t"));
    parameters.put("download.fieldsEnclosedBy", new JobParameter("\""));
    parameters.put("download.format", new JobParameter("taxon"));

    JobParameters jobParameters = new JobParameters(parameters);
    Job archiveCreatorJob = jobLocator.getJob("FlatFileCreation");
    assertNotNull("flatFileCreatorJob must exist", archiveCreatorJob);
    JobExecution jobExecution = jobLauncher.run(archiveCreatorJob,
            jobParameters);

    assertEquals("The Job should be sucessful", ExitStatus.COMPLETED, jobExecution.getExitStatus());
}
项目:powop    文件:FlatFileCreatorIntegrationTest.java   
/**
 * @throws Exception
 */
@Test
public void testWriteTaxonFile() throws Exception {
    Map<String, JobParameter> parameters = new HashMap<String, JobParameter>();
    parameters.put("query", new JobParameter(""));
    parameters.put("selected.facets", new JobParameter("taxon.family_ss=Araceae"));
    parameters.put("download.taxon", new JobParameter(toParameter(DarwinCorePropertyMap.getConceptTerms(DwcTerm.Taxon))));
    parameters.put("download.file", new JobParameter(UUID.randomUUID().toString() + ".txt"));
    parameters.put("download.limit", new JobParameter(new Integer(Integer.MAX_VALUE).toString()));
    parameters.put("download.fieldsTerminatedBy", new JobParameter("\t"));
    parameters.put("download.fieldsEnclosedBy", new JobParameter("\""));
    parameters.put("download.format", new JobParameter("taxon"));

    JobParameters jobParameters = new JobParameters(parameters);
    Job archiveCreatorJob = jobLocator.getJob("FlatFileCreation");
    assertNotNull("flatFileCreatorJob must exist", archiveCreatorJob);
    JobExecution jobExecution = jobLauncher.run(archiveCreatorJob,
            jobParameters);


    assertEquals("The Job should be sucessful", ExitStatus.COMPLETED, jobExecution.getExitStatus());
}
项目:building-microservices    文件:BatchConfiguration.java   
CommandLineRunner runner(JobLauncher launcher,
                         Job job,
                         @Value("${file}") File in,
                         JdbcTemplate jdbcTemplate) {
    return args -> {

        JobExecution execution = launcher.run(job,
                new JobParametersBuilder()
                        .addString("file", in.getAbsolutePath())
                        .toJobParameters());

        System.out.println("execution status: " + execution.getExitStatus().toString());

        List<Person> personList = jdbcTemplate.query("select * from PEOPLE", (resultSet, i) -> new Person(resultSet.getString("first"),
                resultSet.getString("last"),
                resultSet.getString("email")));

        personList.forEach(System.out::println);

    };

}
项目:marklogic-spring-batch    文件:MarkLogicJobExecutionDaoTests.java   
/**
 * Executions should be returned in the reverse order they were saved.
 */
@Transactional
@Test
public void testFindExecutionsOrdering() {

    List<JobExecution> execs = new ArrayList<>();

    for (int i = 0; i < 10; i++) {
        JobExecution exec = new JobExecution(jobInstance, jobParameters);
        exec.setCreateTime(new Date(i));
        execs.add(exec);
        jobExecutionDao.saveJobExecution(exec);
    }
    Collections.reverse(execs);
    List<JobExecution> retrieved = jobExecutionDao.findJobExecutions(jobInstance);

    for (int i = 0; i < 10; i++) {
        assertExecutionsAreEqual(execs.get(i), retrieved.get(i));
    }
}
项目:powop    文件:JobExecutionInfo.java   
public JobExecutionInfo(JobExecution jobExecution) {
    DateTime sTime = new DateTime(jobExecution.getStartTime());
    DateTime eTime = new DateTime(jobExecution.getEndTime());
    duration = eTime.minus(sTime.getMillis());
    startTime = sTime;
    exitDescription = jobExecution.getExitStatus().getExitDescription();
    exitCode = jobExecution.getExitStatus().getExitCode();
    id = jobExecution.getId();
    status = jobExecution.getStatus();
    jobConfigurationId = jobExecution.getJobParameters().getString("job.configuration.id");

    Integer writeSkip = 0;
    for (StepExecution stepExecution : jobExecution.getStepExecutions()) {
        recordsRead += stepExecution.getReadCount();
        readSkip += stepExecution.getReadSkipCount();
        processSkip += stepExecution.getProcessSkipCount();
        written += stepExecution.getWriteCount();
        writeSkip += stepExecution.getWriteSkipCount();
    }
}
项目:powop    文件:NotifyingJobStatusListener.java   
@Override
public void afterJob(JobExecution jobExecution) {

    StringBuffer exitDescription = new StringBuffer();

    if (jobExecution.getJobParameters().getString("job.configuration.id") != null) {
        JobConfiguration jobConfiguration = jobConfigurationService.get(Long.parseLong(jobExecution.getJobParameters().getString("job.configuration.id")));
        exitDescription.append(jobConfiguration.getDescription() + " " + jobExecution.getExitStatus().getExitCode());
        exitDescription.append(". " + jobExecution.getStepExecutions().size() + " Steps Completed.");
        jobExecution.setExitStatus(jobExecution.getExitStatus().addExitDescription(exitDescription.toString()));
        jobConfiguration.setJobStatus(jobExecution.getStatus());
        jobRepository.update(jobExecution);

        logger.info(jobExecution.getExitStatus().getExitCode() + " " + jobExecution.getExitStatus().getExitDescription());
    }
}
项目:eMonocot    文件:PdfWritingTest.java   
@Test
public final void testBatchReportWriter() throws Exception {

    JasperReport jasperReport = JasperCompileManager.compileReport(
            new ClassPathResource("org/emonocot/job/download/reports/name_report1.jrxml").getInputStream());
    JRVerticalReportWriter writer = new JRVerticalReportWriter(jasperReport);
    writer.setDefaultOutputDir("target");
    StepExecution se = new StepExecution("testStep", new JobExecution(1L));
    writer.beforeStep(se);
    int chunkSize = 10;
    for (int i = 0; i <= (itemsToWrite.size()/chunkSize); i++) {
        List<Taxon> itemList = new ArrayList<Taxon>();
        for (int j = 0; j < chunkSize; j++) {
            try {
                itemList.add(itemsToWrite.get(i*chunkSize+j));
            } catch (IndexOutOfBoundsException e) {
                break;
            }
        }
        writer.write(itemList);

    }
    writer.afterStep(se);

}
项目:eMonocot    文件:JobExecutionController.java   
/**
 * @param jobExecution
 *            the job instance to save
 * @return A response entity containing a newly created job execution
 */
@RequestMapping(value = "/jobExecution", method = RequestMethod.POST)
public final ResponseEntity<JobExecution> create(
        @RequestBody final JobExecution jobExecution) {
    HttpHeaders httpHeaders = new HttpHeaders();
    try {
        httpHeaders.setLocation(new URI(baseUrl + "/jobExecution/"
                + jobExecution.getId()));
    } catch (URISyntaxException e) {
        logger.error(e.getMessage());
    }
    service.save(jobExecution);
    ResponseEntity<JobExecution> response = new ResponseEntity<JobExecution>(
            jobExecution, httpHeaders, HttpStatus.CREATED);
    return response;
}
项目:marklogic-spring-batch    文件:MarkLogicJobExecutionDao.java   
@Override
public JobExecution getJobExecution(Long executionId) {
    JobExecution jobExec = null;
    StructuredQueryBuilder qb = new StructuredQueryBuilder(properties.getSearchOptions());
    StructuredQueryDefinition querydef = qb.valueConstraint("id", executionId.toString());
    QueryManager queryMgr = databaseClient.newQueryManager();
    SearchHandle results = queryMgr.search(querydef, new SearchHandle());
    DocumentDescriptor desc;
    if (results.getTotalResults() > 0L) {
        MatchDocumentSummary[] summaries = results.getMatchResults();
        JAXBHandle<AdaptedJobExecution> handle = new JAXBHandle<>(jaxbContext());
        AdaptedJobExecution aje = summaries[0].getFirstSnippet(handle).get();
        try {
            jobExec = adapter.unmarshal(aje);
        } catch (Exception ex) {
            logger.error(ex.getMessage());
            throw new RuntimeException(ex);
        }
        desc = databaseClient.newDocumentManager().exists(summaries[0].getUri());
        jobExec.setVersion((int) desc.getVersion());
    }

    return jobExec;

}
项目:spring-cloud-task    文件:DeployerStepExecutionHandlerTests.java   
@Test
public void testRuntimeException() throws Exception {
    StepExecution workerStep = new StepExecution("workerStep", new JobExecution(1L), 2L);

    when(this.environment.containsProperty(DeployerPartitionHandler.SPRING_CLOUD_TASK_JOB_EXECUTION_ID)).thenReturn(true);
    when(this.environment.containsProperty(DeployerPartitionHandler.SPRING_CLOUD_TASK_STEP_EXECUTION_ID)).thenReturn(true);
    when(this.environment.containsProperty(DeployerPartitionHandler.SPRING_CLOUD_TASK_STEP_NAME)).thenReturn(true);
    when(this.environment.getProperty(DeployerPartitionHandler.SPRING_CLOUD_TASK_STEP_NAME)).thenReturn("workerStep");
    when(this.beanFactory.getBeanNamesForType(Step.class)).thenReturn(new String[] {"workerStep", "foo", "bar"});
    when(this.environment.getProperty(DeployerPartitionHandler.SPRING_CLOUD_TASK_STEP_EXECUTION_ID)).thenReturn("2");
    when(this.environment.getProperty(DeployerPartitionHandler.SPRING_CLOUD_TASK_JOB_EXECUTION_ID)).thenReturn("1");
    when(this.jobExplorer.getStepExecution(1L, 2L)).thenReturn(workerStep);
    when(this.environment.getProperty(DeployerPartitionHandler.SPRING_CLOUD_TASK_STEP_NAME)).thenReturn("workerStep");
    when(this.beanFactory.getBean("workerStep", Step.class)).thenReturn(this.step);
    doThrow(new RuntimeException("expected")).when(this.step).execute(workerStep);

    handler.run();

    verify(this.jobRepository).update(this.stepExecutionArgumentCaptor.capture());

    assertEquals(BatchStatus.FAILED, this.stepExecutionArgumentCaptor.getValue().getStatus());
}
项目:Spring-5.0-Cookbook    文件:BatchConfig.java   
@Scheduled(fixedRate = 5000)
public void startJob() throws Exception {
    JobExecution execution = jobLauncher.run(
        deptBatchJob(),
        new JobParametersBuilder().addLong("procId", System.nanoTime()).toJobParameters()
    );
}
项目:Spring-5.0-Cookbook    文件:BatchConfig.java   
@Scheduled(fixedRate = 5000)
public void startJob() throws Exception {
    JobExecution execution = jobLauncher.run(
        deptBatchJob(),
        new JobParametersBuilder().addLong("procId", System.nanoTime()).toJobParameters()
    );
}
项目:composed-task-runner    文件:TaskLauncherTaskletTests.java   
private ChunkContext chunkContext ()
{
    final long JOB_EXECUTION_ID = 123L;
    final String STEP_NAME = "myTestStep";

    JobExecution jobExecution = new JobExecution(JOB_EXECUTION_ID);
    StepExecution stepExecution = new StepExecution(STEP_NAME, jobExecution);
    StepContext stepContext = new StepContext(stepExecution);
    return new ChunkContext(stepContext);
}
项目:composed-task-runner    文件:ComposedRunnerVisitorTests.java   
private Collection<StepExecution> getStepExecutions() {
    JobExplorer jobExplorer = this.applicationContext.getBean(JobExplorer.class);
    List<JobInstance> jobInstances = jobExplorer.findJobInstancesByJobName("job", 0, 1);
    assertEquals(1, jobInstances.size());
    JobInstance jobInstance = jobInstances.get(0);
    List<JobExecution> jobExecutions = jobExplorer.getJobExecutions(jobInstance);
    assertEquals(1, jobExecutions.size());
    JobExecution jobExecution = jobExecutions.get(0);
    return jobExecution.getStepExecutions();
}
项目:composed-task-runner    文件:ComposedTaskRunnerConfigurationJobIncrementerTests.java   
@Test
@DirtiesContext
public void testComposedConfigurationWithJobIncrementer() throws Exception {
    JobExecution jobExecution = this.jobRepository.createJobExecution(
            "ComposedTest", new JobParameters());
    Assert.notNull(job.getJobParametersIncrementer(), "JobParametersIncrementer must not be null.");
}