Example usage for org.springframework.batch.core JobParametersBuilder JobParametersBuilder

List of usage examples for org.springframework.batch.core JobParametersBuilder JobParametersBuilder

Introduction

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

Prototype

public JobParametersBuilder(Properties properties) 

Source Link

Document

Constructor to add conversion capabilities to support JSR-352.

Usage

From source file:com.enterra.batch.admin.sample.JobExecutionTests.java

@Test
public void testLaunchTwoJobs() throws Exception {
    int before = SimpleJdbcTestUtils.countRowsInTable(jdbcTemplate, "BATCH_STEP_EXECUTION");
    long count = 0;
    JobExecution jobExecution1 = jobLauncher.run(job1,
            new JobParametersBuilder(jobParameters).addLong("run.id", count++).toJobParameters());
    JobExecution jobExecution2 = jobLauncher.run(job1,
            new JobParametersBuilder(jobParameters).addLong("run.id", count++).toJobParameters());
    assertEquals(BatchStatus.COMPLETED, jobExecution1.getStatus());
    assertEquals(BatchStatus.COMPLETED, jobExecution2.getStatus());
    int after = SimpleJdbcTestUtils.countRowsInTable(jdbcTemplate, "BATCH_STEP_EXECUTION");
    assertEquals(before + 2, after);// ww w  .  java  2  s. c  o m
}

From source file:fr.acxio.tools.agia.common.JobLauncherDetails.java

/**
 * Copy parameters that are of the correct type over to
 * {@link org.springframework.batch.core.launch.JobLauncher JobParameters},
 * ignoring jobName./*from  w w  w . j a v  a  2  s  .com*/
 * 
 * @return a JobParameters instance
 */
private JobParameters getJobParametersFromJobMap(Map<String, Object> jobDataMap,
        JobParameters sPreviousJobParameters) {

    JobParametersBuilder builder = (sPreviousJobParameters != null)
            ? new JobParametersBuilder(sPreviousJobParameters)
            : new JobParametersBuilder();

    for (Entry<String, Object> entry : jobDataMap.entrySet()) {
        String key = entry.getKey();
        Object value = entry.getValue();
        if (value instanceof String && !key.equals(JOB_NAME)) {
            builder.addString(key, (String) value);
        } else if (value instanceof Float || value instanceof Double) {
            builder.addDouble(key, ((Number) value).doubleValue());
        } else if (value instanceof Integer || value instanceof Long) {
            builder.addLong(key, ((Number) value).longValue());
        } else if (value instanceof Date) {
            builder.addDate(key, (Date) value);
        } else {
            LOGGER.debug("JobDataMap contains values which are not job parameters (ignoring).");
        }
    }

    return builder.toJobParameters();

}