List of usage examples for org.springframework.beans.factory.support GenericBeanDefinition getPropertyValues
@Override
public MutablePropertyValues getPropertyValues()
From source file:com.dianping.avatar.cache.spring.CacheBeanDefinitionParser.java
/** * Register jms listener definition/*from w ww. j a v a2 s . co m*/ */ private void registerJmsDefinition(Element element, ParserContext parserContext) { GenericBeanDefinition definition = new GenericBeanDefinition(); MutablePropertyValues propertyValues = definition.getPropertyValues(); definition = new GenericBeanDefinition(); definition.setBeanClass(CacheKeyTypeVersionUpdateListener.class); propertyValues = definition.getPropertyValues(); propertyValues.addPropertyValue("cacheItemConfigManager", new RuntimeBeanReference(cacheItemConfigManager)); BeanDefinitionReaderUtils.registerBeanDefinition( new BeanDefinitionHolder(definition, "keyTypeVersionUpdateListener"), parserContext.getRegistry()); definition = new GenericBeanDefinition(); definition.setBeanClass(SingleCacheRemoveListener.class); propertyValues = definition.getPropertyValues(); propertyValues.addPropertyValue("cacheClientFactory", new RuntimeBeanReference(DEFAULT_CACHE_CLIENT_FACTORY_ID)); BeanDefinitionReaderUtils.registerBeanDefinition( new BeanDefinitionHolder(definition, "singleCacheRemoveListener"), parserContext.getRegistry()); definition = new GenericBeanDefinition(); definition.setBeanClass(CacheConfigurationUpdateListener.class); propertyValues = definition.getPropertyValues(); propertyValues.addPropertyValue("cacheClientFactory", new RuntimeBeanReference(DEFAULT_CACHE_CLIENT_FACTORY_ID)); BeanDefinitionReaderUtils.registerBeanDefinition( new BeanDefinitionHolder(definition, "cacheConfigUpdateListener"), parserContext.getRegistry()); definition = new GenericBeanDefinition(); definition.setBeanClass(CacheKeyConfigUpdateListener.class); propertyValues = definition.getPropertyValues(); propertyValues.addPropertyValue("cacheItemConfigManager", new RuntimeBeanReference(cacheItemConfigManager)); BeanDefinitionReaderUtils.registerBeanDefinition( new BeanDefinitionHolder(definition, "cacheKeyConfigUpdateListener"), parserContext.getRegistry()); definition = new GenericBeanDefinition(); definition.setBeanClass(MessageReceiver.class); propertyValues = definition.getPropertyValues(); propertyValues.addPropertyValue("mappingList[0]", new RuntimeBeanReference("keyTypeVersionUpdateListener")); propertyValues.addPropertyValue("mappingList[1]", new RuntimeBeanReference("singleCacheRemoveListener")); propertyValues.addPropertyValue("mappingList[2]", new RuntimeBeanReference("cacheConfigUpdateListener")); propertyValues.addPropertyValue("mappingList[3]", new RuntimeBeanReference("cacheKeyConfigUpdateListener")); BeanDefinitionReaderUtils.registerBeanDefinition( new BeanDefinitionHolder(definition, "dispatchMessageListener"), parserContext.getRegistry()); definition = new GenericBeanDefinition(); definition.setBeanClass(MongoMQService.class); ConstructorArgumentValues constructorArgumentValues = definition.getConstructorArgumentValues(); constructorArgumentValues.addGenericArgumentValue("${avatar-cache.swallow.url}", "java.lang.String"); BeanDefinitionReaderUtils.registerBeanDefinition(new BeanDefinitionHolder(definition, "MQService"), parserContext.getRegistry()); definition = new GenericBeanDefinition(); definition.setBeanClass(Destination.class); definition.setFactoryMethodName(DEFAULT_CACHE_JMS_MODE); constructorArgumentValues = definition.getConstructorArgumentValues(); constructorArgumentValues.addGenericArgumentValue(DEFAULT_CACHE_JMS_TOPIC_NAME, "java.lang.String"); BeanDefinitionReaderUtils.registerBeanDefinition(new BeanDefinitionHolder(definition, "CacheDestination"), parserContext.getRegistry()); definition = new GenericBeanDefinition(); // definition.setBeanClass(MongoMessageConsumer.class); definition.setFactoryBeanName("MQService"); definition.setFactoryMethodName("createConsumer"); constructorArgumentValues = definition.getConstructorArgumentValues(); //TODO where to get the DEFAULT_CACHE_JMS_TOPIC_NAME constructorArgumentValues.addGenericArgumentValue(new RuntimeBeanReference("CacheDestination")); propertyValues = definition.getPropertyValues(); propertyValues.addPropertyValue("messageListener", new RuntimeBeanReference("dispatchMessageListener")); BeanDefinitionReaderUtils.registerBeanDefinition(new BeanDefinitionHolder(definition, "cacheConsumer"), parserContext.getRegistry()); }
From source file:com.dianping.avatar.cache.spring.CacheBeanDefinitionParser.java
/** * Register {@link CacheInterceptor} definition */// ww w.j av a 2 s .c om private void registerCacheInterceptorDefinition(Element element, ParserContext parserContext) { GenericBeanDefinition definition = new GenericBeanDefinition(); definition.setBeanClass(CacheInterceptor.class); // Add reference to CacheService definition.getPropertyValues().addPropertyValue("cacheService", new RuntimeBeanReference(cacheServiceProxyId)); cacheInterceptorId = element.getAttribute(CACHE_INTERCEPTOR_ID_ATTR); if (!StringUtils.hasText(cacheInterceptorId)) { cacheInterceptorId = DEFAULT_CACHE_INTERCEPTOR_ID; } BeanDefinitionHolder holder = new BeanDefinitionHolder(definition, this.cacheInterceptorId); BeanDefinitionReaderUtils.registerBeanDefinition(holder, parserContext.getRegistry()); }
From source file:com.dianping.avatar.cache.spring.CacheBeanDefinitionParser.java
protected void registerCacheProxyBean(Element element, BeanDefinitionRegistry beanDefinitionRegistry, GenericBeanDefinition cacheDefinition) { GenericBeanDefinition definition = new GenericBeanDefinition(); definition.setBeanClass(org.springframework.aop.framework.ProxyFactoryBean.class); String cacheProxyId = cacheServiceProxyId; definition.getPropertyValues().addPropertyValue("interceptorNames", new String[] { "monitorInterceptor" }); definition.getPropertyValues().addPropertyValue("target", cacheDefinition); BeanDefinitionHolder holder = new BeanDefinitionHolder(definition, cacheProxyId); BeanDefinitionReaderUtils.registerBeanDefinition(holder, beanDefinitionRegistry); }
From source file:com.dianping.avatar.cache.spring.CacheBeanDefinitionParser.java
/** * Register {@link XMLCacheClientFactory} definition *///from w w w.j a v a 2 s. com private void registerDefaultCacheClientFactory(BeanDefinitionRegistry beanDefinitionRegistry) { GenericBeanDefinition definition = new GenericBeanDefinition(); definition.setBeanClass(RemoteCacheClientFactory.class); definition.setLazyInit(true); MutablePropertyValues propertyValues = definition.getPropertyValues(); propertyValues.addPropertyValue("configurationWebService", new RuntimeBeanReference(CACHE_CONFIGURATION_WEB_SERVICE_ID)); BeanDefinitionReaderUtils.registerBeanDefinition( new BeanDefinitionHolder(definition, DEFAULT_CACHE_CLIENT_FACTORY_ID), beanDefinitionRegistry); }
From source file:test.pl.chilldev.web.spring.config.StylesheetBeanDefinitionParserTest.java
@Test public void parse() { GenericBeanDefinition bean = new GenericBeanDefinition(); StylesheetBeanDefinitionParser parser = new StylesheetBeanDefinitionParser(bean); String href = "foo.css"; String type = "text/css"; String media = "print"; when(this.element.getAttribute("href")).thenReturn(href); when(this.element.hasAttribute("media")).thenReturn(true); when(this.element.getAttribute("media")).thenReturn(media); when(this.element.hasAttribute("type")).thenReturn(true); when(this.element.getAttribute("type")).thenReturn(type); parser.parse(this.element, null); List<BeanDefinition> stylesheets = (List<BeanDefinition>) bean.getPropertyValues() .getPropertyValue(StylesheetBeanDefinitionParser.PROPERTY_STYLESHEETS).getValue(); BeanDefinition stylesheet = stylesheets.get(0); ConstructorArgumentValues arguments = stylesheet.getConstructorArgumentValues(); assertEquals("StylesheetBeanDefinitionParser.parse() should register stylesheet with it's location.", href, arguments.getIndexedArgumentValue(0, null).getValue()); assertEquals("StylesheetBeanDefinitionParser.parse() should register stylesheet with it's MIME type.", type, arguments.getIndexedArgumentValue(1, null).getValue()); assertEquals("StylesheetBeanDefinitionParser.parse() should register stylesheet with it's media query.", media, arguments.getIndexedArgumentValue(2, null).getValue()); }
From source file:org.mybatis.spring.mapper.MapperScanner.java
/** * Calls the parent search that will search and register all the candidates. * Then the registered objects are post processed to set them as * MapperFactoryBeans// w w w . j ava2 s . c o m */ @Override public Set<BeanDefinitionHolder> doScan(String... basePackages) { Set<BeanDefinitionHolder> beanDefinitions = super.doScan(basePackages); if (beanDefinitions.isEmpty()) { logger.warn("No MyBatis mapper was found in '" + Arrays.toString(basePackages) + "' package. Please check your configuration."); } else { for (BeanDefinitionHolder holder : beanDefinitions) { GenericBeanDefinition definition = (GenericBeanDefinition) holder.getBeanDefinition(); if (logger.isDebugEnabled()) { logger.debug("Creating MapperFactoryBean with name '" + holder.getBeanName() + "' and '" + definition.getBeanClassName() + "' mapperInterface"); } // the mapper interface is the original class of the bean // but, the actual class of the bean is MapperFactoryBean definition.getPropertyValues().add("mapperInterface", definition.getBeanClassName()); definition.setBeanClass(MapperFactoryBean.class); definition.getPropertyValues().add("addToConfig", this.addToConfig); boolean explicitFactoryUsed = false; if (StringUtils.hasText(this.sqlSessionFactoryBeanName)) { definition.getPropertyValues().add("sqlSessionFactory", new RuntimeBeanReference(this.sqlSessionFactoryBeanName)); explicitFactoryUsed = true; } else if (this.sqlSessionFactory != null) { definition.getPropertyValues().add("sqlSessionFactory", this.sqlSessionFactory); explicitFactoryUsed = true; } if (StringUtils.hasText(this.sqlSessionTemplateBeanName)) { if (explicitFactoryUsed) { logger.warn( "Cannot use both: sqlSessionTemplate and sqlSessionFactory together. sqlSessionFactory is ignored."); } definition.getPropertyValues().add("sqlSessionTemplate", new RuntimeBeanReference(this.sqlSessionTemplateBeanName)); definition.getPropertyValues().add("sqlSessionFactory", null); } else if (this.sqlSessionTemplate != null) { if (explicitFactoryUsed) { logger.warn( "Cannot use both: sqlSessionTemplate and sqlSessionFactory together. sqlSessionFactory is ignored."); } definition.getPropertyValues().add("sqlSessionTemplate", this.sqlSessionTemplate); definition.getPropertyValues().add("sqlSessionFactory", null); } } } return beanDefinitions; }
From source file:com.dianping.avatar.cache.spring.CacheBeanDefinitionParser.java
/** * @param parserContext//from w w w . j a v a 2 s . c o m * @param serviceName TODO * @param serviceInterface TODO */ private void registerCacheWebService(BeanDefinitionRegistry beanDefinitionRegistry, String beanName, String serviceName, String serviceInterface, boolean isOneWay) { GenericBeanDefinition definition = new GenericBeanDefinition(); definition.setBeanClassName("com.dianping.dpsf.spring.ProxyBeanFactory"); definition.setLazyInit(true); definition.setInitMethodName("init"); MutablePropertyValues propertyValues = definition.getPropertyValues(); propertyValues.addPropertyValue("serviceName", serviceName); propertyValues.addPropertyValue("iface", serviceInterface); propertyValues.addPropertyValue("serialize", "hessian"); propertyValues.addPropertyValue("callMethod", isOneWay ? "oneway" : "sync"); propertyValues.addPropertyValue("timeout", "10000"); propertyValues.addPropertyValue("hosts", getRemoteService()); BeanDefinitionReaderUtils.registerBeanDefinition(new BeanDefinitionHolder(definition, beanName), beanDefinitionRegistry); }
From source file:com.dianping.avatar.cache.spring.CacheBeanDefinitionParser.java
/** * @param parserContext/*from www. j a va2 s .c om*/ * */ private void registerDefaultCacheItemConfigManager(BeanDefinitionRegistry beanDefinitionRegistry) { GenericBeanDefinition definition = new GenericBeanDefinition(); definition.setBeanClass(RemoteCacheItemConfigManager.class); // lazy init because default CacheItemConfigManager is not required definition.setLazyInit(true); MutablePropertyValues propertyValues = definition.getPropertyValues(); propertyValues.addPropertyValue("configurationWebService", new RuntimeBeanReference(CACHE_CONFIGURATION_WEB_SERVICE_ID)); BeanDefinitionReaderUtils.registerBeanDefinition( new BeanDefinitionHolder(definition, DEFAULT_ITEM_CONFIG_MANAGER_ID), beanDefinitionRegistry); }
From source file:com.comstar.mars.env.EnvClassPathMapperScanner.java
/** * Calls the parent search that will search and register all the candidates. * Then the registered objects are post processed to set them as * MapperFactoryBeans/*from w w w .j av a 2 s .c o m*/ */ @Override public Set<BeanDefinitionHolder> doScan(String... basePackages) { Set<BeanDefinitionHolder> beanDefinitions = super.doScan(basePackages); if (beanDefinitions.isEmpty()) { logger.warn("No MyBatis mapper was found in '" + Arrays.toString(basePackages) + "' package. Please check your configuration."); } else { for (BeanDefinitionHolder holder : beanDefinitions) { GenericBeanDefinition definition = (GenericBeanDefinition) holder.getBeanDefinition(); if (logger.isDebugEnabled()) { logger.debug("Creating MapperFactoryBean with name '" + holder.getBeanName() + "' and '" + definition.getBeanClassName() + "' mapperInterface"); } // the mapper interface is the original class of the bean // but, the actual class of the bean is MapperFactoryBean definition.getPropertyValues().add("mapperInterface", definition.getBeanClassName()); definition.setBeanClass(EnvMapperFactoryBean.class); boolean explicitFactoryUsed = false; if (StringUtils.hasText(this.sqlSessionFactoryBeanName)) { definition.getPropertyValues().add("sqlSessionFactory", new RuntimeBeanReference(this.sqlSessionFactoryBeanName)); explicitFactoryUsed = true; } else if (this.sqlSessionFactory != null) { definition.getPropertyValues().add("sqlSessionFactory", this.sqlSessionFactory); explicitFactoryUsed = true; } if (StringUtils.hasText(this.sqlSessionTemplateBeanName)) { if (explicitFactoryUsed) { logger.warn( "Cannot use both: sqlSessionTemplate and sqlSessionFactory together. sqlSessionFactory is ignored."); } definition.getPropertyValues().add("sqlSessionTemplate", new RuntimeBeanReference(this.sqlSessionTemplateBeanName)); explicitFactoryUsed = true; } else if (this.sqlSessionTemplate != null) { if (explicitFactoryUsed) { logger.warn( "Cannot use both: sqlSessionTemplate and sqlSessionFactory together. sqlSessionFactory is ignored."); } definition.getPropertyValues().add("sqlSessionTemplate", this.sqlSessionTemplate); explicitFactoryUsed = true; } if (!explicitFactoryUsed) { if (logger.isDebugEnabled()) { logger.debug("Enabling autowire by type for MapperFactoryBean with name '" + holder.getBeanName() + "'."); } definition.setAutowireMode(AbstractBeanDefinition.AUTOWIRE_BY_TYPE); } } } return beanDefinitions; }
From source file:test.pl.chilldev.web.spring.config.LinkBeanDefinitionParserTest.java
@Test public void parse() { GenericBeanDefinition bean = new GenericBeanDefinition(); LinkBeanDefinitionParser parser = new LinkBeanDefinitionParser(bean); String href = "blog.rss"; String media = "print"; String type = "application/rss+xml"; when(this.element.getAttribute("href")).thenReturn(href); when(this.element.hasAttribute("media")).thenReturn(true); when(this.element.getAttribute("media")).thenReturn(media); when(this.element.hasAttribute("type")).thenReturn(true); when(this.element.getAttribute("type")).thenReturn(type); parser.parse(this.element, null); List<BeanDefinition> links = (List<BeanDefinition>) bean.getPropertyValues() .getPropertyValue(LinkBeanDefinitionParser.PROPERTY_LINKS).getValue(); BeanDefinition link = links.get(0);/*from w ww .jav a 2 s. c o m*/ ConstructorArgumentValues arguments = link.getConstructorArgumentValues(); assertEquals("LinkBeanDefinitionParser.parse() should register link with it's location.", href, arguments.getIndexedArgumentValue(0, null).getValue()); assertTrue("LinkBeanDefinitionParser.parse() should register link with all it's relations.", ((Set) (arguments.getIndexedArgumentValue(1, null).getValue())).contains(this.relation)); assertEquals("LinkBeanDefinitionParser.parse() should register link with it's MIME type.", type, arguments.getIndexedArgumentValue(2, null).getValue()); assertEquals("LinkBeanDefinitionParser.parse() should register link with it's media query.", media, arguments.getIndexedArgumentValue(3, null).getValue()); }