Example usage for org.springframework.beans.factory.support GenericBeanDefinition GenericBeanDefinition

List of usage examples for org.springframework.beans.factory.support GenericBeanDefinition GenericBeanDefinition

Introduction

In this page you can find the example usage for org.springframework.beans.factory.support GenericBeanDefinition GenericBeanDefinition.

Prototype

public GenericBeanDefinition() 

Source Link

Document

Create a new GenericBeanDefinition, to be configured through its bean properties and configuration methods.

Usage

From source file:com.dianping.avatar.cache.spring.CacheBeanDefinitionParser.java

/**
 * Register {@link XMLCacheClientFactory} definition
 *//*  w  w w .  j a  v a  2  s.  co m*/
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:net.frontlinesms.FrontlineSMS.java

/**
 * Create the configLocations bean for the Hibernate config.
 * This method should only be called from within {@link FrontlineSMS#initApplicationContext()}
 * @return {@link BeanDefinition} containing details of the hibernate config for the app and its plugins.
 *//*  ww w .ja  v a  2  s.  c  om*/
private BeanDefinition createHibernateConfigLocationsBeanDefinition() {
    // Initialise list of hibernate config files
    List<String> hibernateConfigList = new ArrayList<String>();
    // Add main hibernate config location
    hibernateConfigList.add("classpath:frontlinesms.hibernate.cfg.xml");
    // Add hibernate config locations for plugins
    for (Class<PluginController> pluginClass : PluginProperties.getInstance().getPluginClasses()) {
        LOG.info("Processing plugin class: " + pluginClass.getName());
        if (pluginClass.isAnnotationPresent(PluginControllerProperties.class)) {
            PluginControllerProperties properties = pluginClass.getAnnotation(PluginControllerProperties.class);
            String pluginHibernateLocation = properties.hibernateConfigPath();
            if (!PluginControllerProperties.NO_VALUE.equals(pluginHibernateLocation)) {
                hibernateConfigList.add(pluginHibernateLocation);
            }
        }
    }

    GenericBeanDefinition myBeanDefinition = new GenericBeanDefinition();
    myBeanDefinition.setBeanClass(ListFactoryBean.class);
    MutablePropertyValues values = new MutablePropertyValues();
    values.addPropertyValue("sourceList", hibernateConfigList);
    myBeanDefinition.setPropertyValues(values);

    return myBeanDefinition;
}

From source file:com.dianping.avatar.cache.spring.CacheBeanDefinitionParser.java

/**
 * @param parserContext//from ww  w  . j  av a2 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// w  ww .ja v a2s . co  m
 * 
 */
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.dianping.avatar.cache.spring.CacheBeanDefinitionParser.java

/**
 * Register {@link CacheInterceptor} definition
 *//*from   w ww. j a va 2 s.  com*/
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

/**
 * Create cache pointcut definition//from w ww  . j a  v a2s .co m
 */
private void registerCachePointcutDefinition(Element element, ParserContext parserContext) {

    GenericBeanDefinition definition = new GenericBeanDefinition();
    definition.setBeanClass(AnnotationMatchingPointcut.class);

    definition.getConstructorArgumentValues().addGenericArgumentValue(new ValueHolder(null, "java.lang.Class"));

    definition.getConstructorArgumentValues().addGenericArgumentValue(
            new ValueHolder("com.dianping.avatar.cache.annotation.Cache", "java.lang.Class"));

    cachePointcutId = element.getAttribute(CACHE_POINTCUT_ID_ATTR);

    if (!StringUtils.hasText(cachePointcutId)) {
        cachePointcutId = DEFAULT_CACHE_POINTCUT_ID;
    }

    BeanDefinitionHolder holder = new BeanDefinitionHolder(definition, this.cachePointcutId);

    BeanDefinitionReaderUtils.registerBeanDefinition(holder, parserContext.getRegistry());
}

From source file:org.iff.infra.util.spring.script.ScriptFactoryPostProcessor.java

/**
 * Create a ScriptFactory bean definition based on the given script definition,
 * extracting only the definition data that is relevant for the ScriptFactory
 * (that is, only bean class and constructor arguments).
 * @param bd the full script bean definition
 * @return the extracted ScriptFactory bean definition
 * @see org.springframework.scripting.ScriptFactory
 *///from  w  ww  .  j av a  2s  .com
protected BeanDefinition createScriptFactoryBeanDefinition(BeanDefinition bd) {
    GenericBeanDefinition scriptBd = new GenericBeanDefinition();
    scriptBd.setBeanClassName(bd.getBeanClassName());
    scriptBd.getConstructorArgumentValues().addArgumentValues(bd.getConstructorArgumentValues());
    return scriptBd;
}

From source file:com.dianping.avatar.cache.spring.CacheBeanDefinitionParser.java

/**
 * Register {@link DefaultBeanFactoryPointcutAdvisor} definition
 *//*from w w  w  . j  a va  2 s . c om*/
private void registerAdvisorDefinition(Element element, ParserContext parserContext) {

    AopNamespaceUtils.registerAspectJAutoProxyCreatorIfNecessary(parserContext, element);

    GenericBeanDefinition definition = new GenericBeanDefinition();
    definition.setBeanClass(DefaultBeanFactoryPointcutAdvisor.class);

    definition.getPropertyValues().addPropertyValue(ADVICE_BEAN_NAME,
            new RuntimeBeanNameReference(cacheInterceptorId));

    definition.getPropertyValues().addPropertyValue(POINTCUT, new RuntimeBeanReference(cachePointcutId));

    String id = element.getAttribute(ADVISOR_ID_ATTR);

    if (!StringUtils.hasText(id)) {
        id = DEFAULT_ADVISOR_ID;
    }

    BeanDefinitionHolder holder = new BeanDefinitionHolder(definition, "cacheAdvisor");

    BeanDefinitionReaderUtils.registerBeanDefinition(holder, parserContext.getRegistry());

}

From source file:org.beangle.spring.bind.AutoConfigProcessor.java

/**
 * @param beanName//  w ww .ja  v a 2  s.c  o  m
 * @param clazz
 * @param registry
 * @param definition
 */
protected BeanDefinition register(String beanName, Class<?> clazz, String scope,
        BeanDefinitionRegistry registry) {
    GenericBeanDefinition def = new GenericBeanDefinition();
    def.setBeanClass(clazz);
    def.setScope(scope);
    registry.registerBeanDefinition(beanName, def);
    bindRegistry.register(clazz, beanName);
    logger.debug("Register definition {} for {}", beanName, clazz);
    return def;
}

From source file:org.bytesoft.bytejta.supports.dubbo.TransactionConfigPostProcessor.java

public void initializeForProvider(ConfigurableListableBeanFactory beanFactory, String application,
        String refBeanName) throws BeansException {
    BeanDefinitionRegistry registry = (BeanDefinitionRegistry) beanFactory;

    GenericBeanDefinition beanDef = new GenericBeanDefinition();
    beanDef.setBeanClass(com.alibaba.dubbo.config.spring.ServiceBean.class);

    MutablePropertyValues mpv = beanDef.getPropertyValues();
    mpv.addPropertyValue("interface", RemoteCoordinator.class.getName());
    mpv.addPropertyValue("ref", new RuntimeBeanReference(refBeanName));
    mpv.addPropertyValue("cluster", "failfast");
    mpv.addPropertyValue("loadbalance", "transaction");
    mpv.addPropertyValue("group", "org.bytesoft.bytejta");
    mpv.addPropertyValue("retries", "0");
    mpv.addPropertyValue("timeout", "5000");

    String skeletonBeanId = String.format("skeleton@%s", RemoteCoordinator.class.getName());
    registry.registerBeanDefinition(skeletonBeanId, beanDef);
}