Package org.springframework.data.hadoop.samples

Source Code of org.springframework.data.hadoop.samples.WordCountWorkflowTests

package org.springframework.data.hadoop.samples;

import java.util.Map;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.batch.core.BatchStatus;
import org.springframework.batch.core.Job;
import org.springframework.batch.core.JobParameters;
import org.springframework.batch.core.launch.JobLauncher;
import org.springframework.beans.factory.BeanInitializationException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;


@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("/launch-context.xml")
public class WordCountWorkflowTests {

    @Autowired
    private ApplicationContext ctx;

  @Test
  public void testWorkflowNS() throws Exception {
    startJobs(ctx);
  }
 
  public void startJobs(ApplicationContext ctx) {
    JobLauncher launcher = ctx.getBean(JobLauncher.class);
    Map<String, Job> jobs = ctx.getBeansOfType(Job.class);

    for (Map.Entry<String, Job> entry : jobs.entrySet()) {
      System.out.println("Executing job " + entry.getKey());
      try {
        if (launcher.run(entry.getValue(), new JobParameters()).getStatus().equals(BatchStatus.FAILED)){
          throw new BeanInitializationException("Failed executing job " + entry.getKey());
        }
      } catch (Exception ex) {
        throw new BeanInitializationException("Cannot execute job " + entry.getKey(), ex);
      }
    }
  }
}
TOP

Related Classes of org.springframework.data.hadoop.samples.WordCountWorkflowTests

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.