Example usage for org.springframework.batch.core.configuration.support ClassPathXmlApplicationContextFactory setApplicationContext

List of usage examples for org.springframework.batch.core.configuration.support ClassPathXmlApplicationContextFactory setApplicationContext

Introduction

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

Prototype

@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException 

Source Link

Document

Setter for the parent application context.

Usage

From source file:test.profile.ClassPathXmlJobRegistry.java

public void afterPropertiesSet() throws Exception {

    for (Resource resource : jobPaths) {
        ClassPathXmlApplicationContextFactory applicationContextFactory = new ClassPathXmlApplicationContextFactory();
        applicationContextFactory.setPath(resource);
        applicationContextFactory.setApplicationContext(parent);
        ApplicationContext context = applicationContextFactory.createApplicationContext();
        String[] names = context.getBeanNamesForType(Job.class);

        for (String name : names) {
            logger.debug("Registering job: " + name + " from context: " + resource);
            ApplicationContextJobFactory jobFactory = new ApplicationContextJobFactory(
                    applicationContextFactory, name);
            jobRegistry.register(jobFactory);
        }/*w ww  .  j  a va 2  s  . c om*/
    }

    if (jobRegistry.getJobNames().isEmpty()) {
        throw new NoSuchJobException("Could not locate any jobs in resources provided.");
    }

}