Example usage for org.springframework.batch.integration.launch JobLaunchRequest JobLaunchRequest

List of usage examples for org.springframework.batch.integration.launch JobLaunchRequest JobLaunchRequest

Introduction

In this page you can find the example usage for org.springframework.batch.integration.launch JobLaunchRequest JobLaunchRequest.

Prototype

public JobLaunchRequest(Job job, JobParameters jobParameters) 

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();//  w  w w.ja v a 2  s .c  o m

    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();//www  .j  a  v  a2  s .c o  m

    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.manning.siia.batch.FileMessageToJobRequest.java

@Transformer
public JobLaunchRequest toRequest(Message<File> message) {
    JobParametersBuilder jobParametersBuilder = new JobParametersBuilder();
    jobParametersBuilder.addString(fileParameterName, message.getPayload().getAbsolutePath());
    return new JobLaunchRequest(job, jobParametersBuilder.toJobParameters());
}

From source file:io.spring.batch.integration.TweetToJobTransformer.java

@Transformer(inputChannel = "jobTweets", outputChannel = "jobChannel")
public JobLaunchRequest transform(Tweet tweet) {

    System.out.println("Creating request");

    String[] tweetParams = tweet.getText().split(" ");
    Job job = (Job) context.getBean(tweetParams[0]);

    System.out.println("Job = " + job.getName());

    JobParametersBuilder paramsBuilder = new JobParametersBuilder();

    for (int i = 1; i < tweetParams.length; i++) {
        String[] param = tweetParams[1].split("=");
        paramsBuilder.addString(param[0], param[1]);
    }//w  ww . ja  va 2s  .co  m

    System.out.println("Parameters = " + paramsBuilder.toString());

    JobLaunchRequest request = new JobLaunchRequest(job, paramsBuilder.toJobParameters());

    return request;
}

From source file:com.create.batch.integration.FileMessageToJobRequest.java

@Transformer(inputChannel = "inboundFileChannel", outputChannel = "outboundJobRequestChannel")
public JobLaunchRequest toRequest(final Message<File> message) {
    log.debug("toRequest : {}", message);
    final Instant timestamp = clock.instant();
    final JobParameters jobParameters = new JobParametersBuilder()
            .addString(jobParameter, message.getPayload().getAbsolutePath())
            .addLong(TIMESTAMP_PARAMETER, timestamp.getEpochSecond()).toJobParameters();
    return new JobLaunchRequest(job, jobParameters);
}

From source file:org.springframework.xd.dirt.plugins.job.JobLaunchRequestTransformer.java

@Transformer
public JobLaunchRequest toJobLaunchRequest(Message<?> message) {
    Job job;//from   w  w w  .j a va 2s  .co m
    try {
        job = jobRegistry.getJob(jobName);
    } catch (NoSuchJobException e) {
        throw new IllegalArgumentException("The job " + jobName + " doesn't exist. Is it deployed?");
    }
    final Object payload = message.getPayload();
    JobParameters jobParameters;

    if (logger.isDebugEnabled()) {
        logger.debug(String.format(
                "JobParameters are provided as '%s'. " + "Convertering to Spring Batch JobParameters...",
                payload.getClass().getSimpleName()));
    }

    if (payload instanceof File) {
        jobParameters = jobParametersConverter.getJobParametersForFile((File) message.getPayload());
    } else if (payload instanceof String) {
        jobParameters = jobParametersConverter.getJobParametersForJsonString((String) payload);
    } else if (payload instanceof Properties) {
        jobParameters = jobParametersConverter.getJobParameters((Properties) payload);
    } else if (payload instanceof Map<?, ?>) {
        jobParameters = jobParametersConverter.getJobParametersForMap((Map) payload);
    } else if (payload instanceof Tuple) {

        final Tuple tuple = (Tuple) payload;
        final List<Object> tupleValues = tuple.getValues();

        final Map<String, Object> map = new LinkedHashMap<String, Object>(tupleValues.size());
        for (int i = 0; i < tupleValues.size(); i++) {
            map.put(tuple.getFieldNames().get(i), tupleValues.get(i));
        }

        jobParameters = jobParametersConverter.getJobParametersForMap(map);

    } else {
        throw new IllegalArgumentException(
                "This transformer does not support payloads of type " + payload.getClass().getSimpleName());
    }

    final boolean isRestart = Boolean
            .valueOf(jobParameters.getString(ExpandedJobParametersConverter.IS_RESTART_JOB_PARAMETER_KEY));

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

    jobParameters = jobParametersConverter.removeRestartParameterIfExists(jobParameters);

    return new JobLaunchRequest(job, jobParameters);
}