@Override public void init() { this.registerBeanDefinitionParser("job", new JsrJobParser()); this.registerBeanDefinitionParser("batch-artifacts", new BatchParser()); } }
static void autoregisterJsrBeansForNamespace(ParserContext parserContext) { autoRegisterJobProperties(parserContext); autoRegisterBatchPostProcessor(parserContext); autoRegisterJsrAutowiredAnnotationBeanPostProcessor(parserContext); autoRegisterThreadLocalClassloaderBeanPostProcessor(parserContext); autoRegisterBeanScopeBeanFactoryPostProcessor(parserContext); autoRegisterBatchPropertyContext(parserContext); autoRegisterNamespacePostProcessor(parserContext); }
/** * <p> * Parses a <property> tag value from the provided {@link Element}. <property> elements have a name and * value attribute which represent the property entries key and value. * </p> * * @param element the element to parse looking for <property/> */ public void parseProperty(Element element) { parsePropertyElement(element); }
@Test public void testGetJobProperties() { Document document = getDocument("/META-INF/batch-jobs/jsrPropertyPreparseTestJob.xml"); @SuppressWarnings("resource") JsrXmlApplicationContext applicationContext = new JsrXmlApplicationContext(); JsrBeanDefinitionDocumentReader documentReader = new JsrBeanDefinitionDocumentReader(applicationContext); documentReader.initProperties(document.getDocumentElement()); Properties documentJobProperties = documentReader.getJobProperties(); assertNotNull(documentJobProperties); assertTrue("Wrong number of job properties", documentJobProperties.size() == 3); assertEquals("jobProperty1Value", documentJobProperties.getProperty("jobProperty1")); assertEquals("jobProperty1Value", documentJobProperties.getProperty("jobProperty2")); assertEquals("", documentJobProperties.getProperty("jobProperty3")); }
protected void initProperties(Element root) { propertyMap.put(JOB_PARAMETERS_KEY_NAME, initJobParameters()); propertyMap.put(JOB_PROPERTIES_KEY_NAME, initJobProperties(root)); resolvePropertyValues(propertyMap.get(JOB_PARAMETERS_KEY_NAME)); resolvePropertyValues(propertyMap.get(JOB_PROPERTIES_KEY_NAME)); }
@Override public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException { if(bean instanceof JobFactoryBean) { JobFactoryBean fb = (JobFactoryBean) bean; JobRepository jobRepository = fb.getJobRepository(); if (jobRepository == null) { fb.setJobRepository((JobRepository) applicationContext.getBean(DEFAULT_JOB_REPOSITORY_NAME)); } } return bean; }
/** * <p> * Create a new context instance using the provided {@link Properties} representing job * parameters when pre-processing the job definition document. * </p> * * @param jobParameters the {@link Properties} representing job parameters */ public JsrXmlApplicationContext(Properties jobParameters) { reader.setDocumentReaderClass(JsrBeanDefinitionDocumentReader.class); reader.setEnvironment(this.getEnvironment()); storeJobParameters(jobParameters); }
private static void autoRegisterBatchPostProcessor(ParserContext parserContext) { registerPostProcessor(parserContext, BatchPropertyBeanPostProcessor.class, BeanDefinition.ROLE_INFRASTRUCTURE, BATCH_PROPERTY_POST_PROCESSOR_BEAN_NAME); }
public static Collection<BeanDefinition> getNextElements(ParserContext parserContext, BeanDefinition stateDef, Element element) { return getNextElements(parserContext, null, stateDef, element); }
@Override protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) { BeanDefinitionRegistry registry = parserContext.getRegistry(); parseRefElements(element, registry); return null; }
private BeanDefinitionRegistry getBeanDefinitionRegistry() { return beanDefinitionRegistry != null ? beanDefinitionRegistry : getReaderContext().getRegistry(); }
/** * <p> * Create a new context instance with no job parameters. * </p> */ public JsrXmlApplicationContext() { reader.setDocumentReaderClass(JsrBeanDefinitionDocumentReader.class); reader.setEnvironment(this.getEnvironment()); }
@Test(expected=IllegalArgumentException.class) public void testNullName() throws Exception { factoryBean.setDecider(new DeciderSupport()); factoryBean.afterPropertiesSet(); }
@Test(expected=IllegalArgumentException.class) public void testNullDecider() throws Exception{ factoryBean.setName("state1"); factoryBean.afterPropertiesSet(); }
@Override public Object processItem(Object item) throws Exception { throwException(item); return item; } }
@Test(expected=IllegalArgumentException.class) public void testNullDeciderAndName() throws Exception { factoryBean.afterPropertiesSet(); }
private static void autoRegisterBeanScopeBeanFactoryPostProcessor( ParserContext parserContext) { registerPostProcessor(parserContext, JsrBeanScopeBeanFactoryPostProcessor.class, BeanDefinition.ROLE_INFRASTRUCTURE, BEAN_SCOPE_POST_PROCESSOR_BEAN_NAME); }
private static void autoRegisterNamespacePostProcessor(ParserContext parserContext) { registerPostProcessor(parserContext, JsrNamespacePostProcessor.class, BeanDefinition.ROLE_INFRASTRUCTURE, JSR_NAMESPACE_POST_PROCESSOR); }
private static void autoRegisterJsrAutowiredAnnotationBeanPostProcessor(ParserContext parserContext) { registerPostProcessor(parserContext, JsrAutowiredAnnotationBeanPostProcessor.class, BeanDefinition.ROLE_INFRASTRUCTURE, AnnotationConfigUtils.AUTOWIRED_ANNOTATION_PROCESSOR_BEAN_NAME); }
private static void autoRegisterThreadLocalClassloaderBeanPostProcessor(ParserContext parserContext) { registerPostProcessor(parserContext, ThreadLocalClassloaderBeanPostProcessor.class, BeanDefinition.ROLE_INFRASTRUCTURE, THREAD_LOCAL_CLASS_LOADER_BEAN_POST_PROCESSOR_BEAN_NAME); }