private void register(String[] paths) throws DuplicateJobException, IOException { maybeCreateJobLoader(); for (int i = 0; i < paths.length; i++) { Resource[] resources = parentContext.getResources(paths[i]); for (int j = 0; j < resources.length; j++) { Resource path = resources[j]; logger.info("Registering Job definitions from " + Arrays.toString(resources)); ClassPathXmlApplicationContextFactory factory = new ClassPathXmlApplicationContextFactory(); factory.setApplicationContext(parentContext); factory.setResource(path); jobLoader.load(factory); } } }
/** * Create an {@link ApplicationContextFactory} from each resource provided * in {@link #setResources(Resource[])}. * * @return an array of {@link ApplicationContextFactory} * @throws Exception * @see org.springframework.beans.factory.FactoryBean#getObject() */ public Object getObject() throws Exception { if (resources == null) { return new ApplicationContextFactory[0]; } List<ApplicationContextFactory> applicationContextFactories = new ArrayList<ApplicationContextFactory>(); for (Resource resource : resources) { ClassPathXmlApplicationContextFactory factory = new ClassPathXmlApplicationContextFactory(); factory.setCopyConfiguration(copyConfiguration); if (beanFactoryPostProcessorClasses != null) { factory.setBeanFactoryPostProcessorClasses(beanFactoryPostProcessorClasses); } if (beanPostProcessorExcludeClasses != null) { factory.setBeanPostProcessorExcludeClasses(beanPostProcessorExcludeClasses); } factory.setResource(resource); factory.setApplicationContext(applicationContext); applicationContextFactories.add(factory); } return applicationContextFactories.toArray(new ApplicationContextFactory[applicationContextFactories.size()]); }