Example usage for org.springframework.batch.core.configuration.support AutomaticJobRegistrar start

List of usage examples for org.springframework.batch.core.configuration.support AutomaticJobRegistrar start

Introduction

In this page you can find the example usage for org.springframework.batch.core.configuration.support AutomaticJobRegistrar start.

Prototype

@Override
public void start() 

Source Link

Document

Take all the contexts from the factories provided and pass them to the JobLoader .

Usage

From source file:org.springframework.data.hadoop.admin.util.HadoopWorkflowUtils.java

/**
 * register the new uploaded Spring Batch job 
 * //w  w w .j a v a  2  s . c  o  m
 * @param artifacts workflow artifacts
 * @param context root Application Context 
 * 
 * @throws Exception
 */
public static void registerSpringBatchJob(WorkflowArtifacts artifacts, ApplicationContext context)
        throws Exception {
    String workflowDescriptor = HadoopWorkflowUtils.getWorkflowDescriptor(artifacts);
    logger.info("create spring batch job:" + workflowDescriptor + ", classloader:"
            + artifacts.getWorkflowClassLoader());
    AutomaticJobRegistrar registarar = new AutomaticJobRegistrar();
    FileSystemApplicationContextsFactoryBean factoryBean = new FileSystemApplicationContextsFactoryBean();
    factoryBean.setApplicationContext(context);
    factoryBean.setWorkflowArtifacts(new WorkflowArtifacts[] { artifacts });
    registarar.setApplicationContextFactories((ApplicationContextFactory[]) factoryBean.getObject());
    DefaultJobLoader jobLoader = new DefaultJobLoader();
    JobRegistry jobRegistry = context.getBean("jobRegistry", JobRegistry.class);
    jobLoader.setJobRegistry(jobRegistry);
    registarar.setJobLoader(jobLoader);
    registarar.start();
    logger.info("successfully register spring batch job");
}