bd.setBeanClassName(this.scriptFactoryClassName); bd.setSource(parserContext.extractSource(element)); bd.setAttribute(ScriptFactoryPostProcessor.LANGUAGE_ATTRIBUTE, element.getLocalName()); bd.setAttribute(ScriptFactoryPostProcessor.REFRESH_CHECK_DELAY_ATTRIBUTE, Long.valueOf(refreshCheckDelay)); bd.setAttribute(ScriptFactoryPostProcessor.PROXY_TARGET_CLASS_ATTRIBUTE, Boolean.valueOf(proxyTargetClass));
bd.setBeanClassName(this.scriptFactoryClassName); bd.setSource(parserContext.extractSource(element)); bd.setAttribute(ScriptFactoryPostProcessor.LANGUAGE_ATTRIBUTE, element.getLocalName()); bd.setAttribute(ScriptFactoryPostProcessor.REFRESH_CHECK_DELAY_ATTRIBUTE, Long.valueOf(refreshCheckDelay)); bd.setAttribute(ScriptFactoryPostProcessor.PROXY_TARGET_CLASS_ATTRIBUTE, Boolean.valueOf(proxyTargetClass));
protected BeanDefinition getServerBeanDefinition(){ GenericBeanDefinition result = new GenericBeanDefinition(); result.setAutowireCandidate(true); result.setScope(BeanDefinition.SCOPE_SINGLETON); result.setBeanClass(this.getClass()); result.setAttribute("id", MODULE_CONSTRUCTOR_PARAM2_CLASS); result.setAttribute("name", MODULE_CONSTRUCTOR_PARAM2_CLASS); return result; }
protected BeanDefinition getServerBeanDefinition(){ GenericBeanDefinition result = new GenericBeanDefinition(); result.setAutowireCandidate(true); result.setScope(BeanDefinition.SCOPE_SINGLETON); result.setBeanClass(this.getClass()); result.setAttribute("id", MODULE_CONSTRUCTOR_PARAM2_CLASS); result.setAttribute("name", MODULE_CONSTRUCTOR_PARAM2_CLASS); return result; }
@Component public class CustomBeanFactoryPostProcessor implements BeanDefinitionRegistryPostProcessor { @Override public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) throws BeansException { Reflections reflections = new Reflections("my.package.prefix", new SubTypesScanner(false)); Set<Class<? extends Object>> allClasses = reflections.getSubTypesOf(Object.class); for (Class clazz : allClasses) { GenericBeanDefinition gbd = new GenericBeanDefinition(); gbd.setBeanClass(clazz); gbd.setAttribute("attributeName", "attributeValue"); registry.registerBeanDefinition(clazz.getSimpleName() + "_Bean", gbd); } } @Override public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { // Custom post process the existing bean definitions } }
/** * Provide a generic bean definition if the Server was not created by Spring * @return */ protected static BeanDefinition getServerConfigurationBeanDefinition(){ String className = ServerConfiguration.class.getName(); GenericBeanDefinition result = new GenericBeanDefinition(); result.setAutowireCandidate(true); result.setScope(BeanDefinition.SCOPE_SINGLETON); result.setBeanClass(Server.class); result.setFactoryMethodName("getConfig"); result.setAttribute("id", className); result.setAttribute("name", className); return result; }
/** * Provide a generic bean definition if the Server was not created by Spring * @return */ protected static BeanDefinition getServerConfigurationBeanDefinition(){ String className = ServerConfiguration.class.getName(); GenericBeanDefinition result = new GenericBeanDefinition(); result.setAutowireCandidate(true); result.setScope(BeanDefinition.SCOPE_SINGLETON); result.setBeanClass(Server.class); result.setFactoryMethodName("getConfig"); result.setAttribute("id", className); result.setAttribute("name", className); return result; }
protected static GenericBeanDefinition createDatastoreConfigurationBeanDefinition(String id){ GenericBeanDefinition result = new GenericBeanDefinition(); result.setScope(BeanDefinition.SCOPE_SINGLETON); result.setBeanClassName(DatastoreConfiguration.class.getName()); result.setAttribute("id", id); result.setAttribute("name", id); result.setFactoryBeanName(ServerConfiguration.class.getName()); result.setFactoryMethodName("getDatastoreConfiguration"); ConstructorArgumentValues cArgs = new ConstructorArgumentValues(); cArgs.addGenericArgumentValue(id); result.setConstructorArgumentValues(cArgs); return result; }
protected static GenericBeanDefinition createModuleConfigurationBeanDefinition(String role){ GenericBeanDefinition result = new GenericBeanDefinition(); result.setScope(BeanDefinition.SCOPE_SINGLETON); result.setBeanClassName(ModuleConfiguration.class.getName()); String name = role+"Configuration"; result.setAttribute("id", name); result.setAttribute("name", name); result.setFactoryBeanName(ServerConfiguration.class.getName()); result.setFactoryMethodName("getModuleConfiguration"); ConstructorArgumentValues cArgs = new ConstructorArgumentValues(); cArgs.addGenericArgumentValue(role); result.setConstructorArgumentValues(cArgs); return result; }
protected static GenericBeanDefinition createModuleConfigurationBeanDefinition(String role){ GenericBeanDefinition result = new GenericBeanDefinition(); result.setScope(BeanDefinition.SCOPE_SINGLETON); result.setBeanClassName(ModuleConfiguration.class.getName()); String name = role+"Configuration"; result.setAttribute("id", name); result.setAttribute("name", name); result.setFactoryBeanName(ServerConfiguration.class.getName()); result.setFactoryMethodName("getModuleConfiguration"); ConstructorArgumentValues cArgs = new ConstructorArgumentValues(); cArgs.addGenericArgumentValue(role); result.setConstructorArgumentValues(cArgs); return result; }
protected static GenericBeanDefinition createDatastoreConfigurationBeanDefinition(String id){ GenericBeanDefinition result = new GenericBeanDefinition(); result.setScope(BeanDefinition.SCOPE_SINGLETON); result.setBeanClassName(DatastoreConfiguration.class.getName()); result.setAttribute("id", id); result.setAttribute("name", id); result.setFactoryBeanName(ServerConfiguration.class.getName()); result.setFactoryMethodName("getDatastoreConfiguration"); ConstructorArgumentValues cArgs = new ConstructorArgumentValues(); cArgs.addGenericArgumentValue(id); result.setConstructorArgumentValues(cArgs); return result; }
beanDef.setAttribute(attr.getKey(), attr.getValue());
private AbstractBeanDefinition createBeanReferenceDefinition(String beanName, BeanDefinition actualDef) { GenericBeanDefinition def = new GenericBeanDefinition(); def.setBeanClass(BeanReferenceFactoryBean.class); def.setAttribute(GENERATED_REF, Boolean.TRUE); def.setOriginatingBeanDefinition(actualDef); def.setDependsOn(new String[] { beanName }); def.setSynthetic(true); MutablePropertyValues mpv = new MutablePropertyValues(); mpv.addPropertyValue(TARGET_BEAN_NAME_PROP, beanName); def.setPropertyValues(mpv); return def; }
String name = TriplestoreConnector.class.getName(); GenericBeanDefinition beanDefinition = Server.getTriplestoreConnectorBeanDefinition(dsConfig); beanDefinition.setAttribute("name", name); beanDefinition.setAttribute("id", name); registerBeanDefinition(name, beanDefinition);
String name = TriplestoreConnector.class.getName(); GenericBeanDefinition beanDefinition = Server.getTriplestoreConnectorBeanDefinition(dsConfig); beanDefinition.setAttribute("name", name); beanDefinition.setAttribute("id", name); registerBeanDefinition(name, beanDefinition);
bd.setBeanClassName(this.scriptFactoryClassName); bd.setSource(parserContext.extractSource(element)); bd.setAttribute(ScriptFactoryPostProcessor.LANGUAGE_ATTRIBUTE, element.getLocalName()); bd.setAttribute(ScriptFactoryPostProcessor.REFRESH_CHECK_DELAY_ATTRIBUTE, Long.valueOf(refreshCheckDelay)); bd.setAttribute(ScriptFactoryPostProcessor.PROXY_TARGET_CLASS_ATTRIBUTE, Boolean.valueOf(proxyTargetClass));