List of usage examples for org.springframework.aop.scope ScopedProxyUtils createScopedProxy
public static BeanDefinitionHolder createScopedProxy(BeanDefinitionHolder definition, BeanDefinitionRegistry registry, boolean proxyTargetClass)
From source file:org.activiti.spring.components.aop.util.Scopifier.java
public static BeanDefinitionHolder createScopedProxy(String beanName, BeanDefinition definition, BeanDefinitionRegistry registry, boolean proxyTargetClass) { BeanDefinitionHolder proxyHolder = ScopedProxyUtils .createScopedProxy(new BeanDefinitionHolder(definition, beanName), registry, proxyTargetClass); registry.registerBeanDefinition(beanName, proxyHolder.getBeanDefinition()); return proxyHolder; }
From source file:br.com.caelum.vraptor.ioc.spring.SpringRegistry.java
/** * From org.springframework.context.annotation.ClassPathBeanDefinitionScanner#applyScope() * @param definition// www. j a v a 2s .com * @param scopeMetadata * * @return */ private BeanDefinitionHolder applyScopeOn(BeanDefinitionHolder definition, ScopeMetadata scopeMetadata) { String scope = scopeMetadata.getScopeName(); ScopedProxyMode proxyMode = scopeMetadata.getScopedProxyMode(); definition.getBeanDefinition().setScope(scope); if (BeanDefinition.SCOPE_SINGLETON.equals(scope) || BeanDefinition.SCOPE_PROTOTYPE.equals(scope) || proxyMode.equals(ScopedProxyMode.NO)) { return definition; } else { boolean proxyTargetClass = proxyMode.equals(ScopedProxyMode.TARGET_CLASS); return ScopedProxyUtils.createScopedProxy(definition, (BeanDefinitionRegistry) beanFactory, proxyTargetClass); } }
From source file:org.rosenvold.spring.convention.ConventionBeanFactory.java
private void registerBeanByResolvedType(String beanName, Class<?> resolvedType) { if (resolvedType == null) return;//w w w.j a v a 2s . co m final BeanDefinition beanDefinition = getOrCreateBeanDefinition(beanName, resolvedType); BeanDefinitionHolder definitionHolder = new BeanDefinitionHolder(beanDefinition, beanName); ScopeMetadata scopeMetadata = this.scopeMetadataResolver.resolveScopeMetadata(beanDefinition); ScopedProxyMode scopedProxyMode = scopeMetadata.getScopedProxyMode(); if (!scopedProxyMode.equals(ScopedProxyMode.NO)) { definitionHolder = ScopedProxyUtils.createScopedProxy(definitionHolder, this, scopedProxyMode.equals(ScopedProxyMode.TARGET_CLASS)); } registerBeanDefinition(beanName, definitionHolder.getBeanDefinition()); }
From source file:org.springframework.amqp.rabbit.stocks.context.RefreshScope.java
private static BeanDefinitionHolder createScopedProxy(String beanName, BeanDefinition definition, BeanDefinitionRegistry registry, boolean proxyTargetClass) { BeanDefinitionHolder proxyHolder = ScopedProxyUtils .createScopedProxy(new BeanDefinitionHolder(definition, beanName), registry, proxyTargetClass); registry.registerBeanDefinition(beanName, proxyHolder.getBeanDefinition()); return proxyHolder; }
From source file:org.springframework.social.config.support.AbstractConnectionRepositoryConfigSupport.java
protected BeanDefinition decorateWithScopedProxy(String beanName, BeanDefinition beanDefinition, BeanDefinitionRegistry registry) { BeanDefinitionHolder beanDefinitionHolder = new BeanDefinitionHolder(beanDefinition, beanName); return ScopedProxyUtils.createScopedProxy(beanDefinitionHolder, registry, false).getBeanDefinition(); }
From source file:org.springframework.social.config.support.ProviderConfigSupport.java
public static BeanDefinition registerConnectionFactoryLocatorBean(BeanDefinitionRegistry registry) { if (logger.isDebugEnabled()) { logger.debug("Registering ConnectionFactoryLocator bean"); }/*w ww. j av a2s .c o m*/ if (!registry.containsBeanDefinition(CONNECTION_FACTORY_LOCATOR_ID)) { BeanDefinitionHolder connFactoryLocatorBeanDefHolder = new BeanDefinitionHolder(BeanDefinitionBuilder .genericBeanDefinition(ConnectionFactoryRegistry.class).getBeanDefinition(), CONNECTION_FACTORY_LOCATOR_ID); BeanDefinitionHolder scopedProxy = ScopedProxyUtils.createScopedProxy(connFactoryLocatorBeanDefHolder, registry, false); registry.registerBeanDefinition(scopedProxy.getBeanName(), scopedProxy.getBeanDefinition()); } BeanDefinition connectionFactoryLocatorBD = registry .getBeanDefinition(ScopedProxyUtils.getTargetBeanName(CONNECTION_FACTORY_LOCATOR_ID)); return connectionFactoryLocatorBD; }
From source file:org.springframework.social.config.support.ProviderConfigSupport.java
public static BeanDefinition registerApiBindingBean(BeanDefinitionRegistry registry, Class<? extends ApiHelper<?>> apiHelperClass, Class<?> apiBindingType) { if (logger.isDebugEnabled()) { logger.debug("Registering API Helper bean for " + ClassUtils.getShortName(apiBindingType)); }/*from ww w. j a v a 2 s . c om*/ String helperId = "__" + ClassUtils.getShortNameAsProperty(apiBindingType) + "ApiHelper"; // TODO: Make the bean IDs here configurable. BeanDefinition helperBD = BeanDefinitionBuilder.genericBeanDefinition(apiHelperClass) .addConstructorArgReference("usersConnectionRepository").addConstructorArgReference("userIdSource") .getBeanDefinition(); registry.registerBeanDefinition(helperId, helperBD); if (logger.isDebugEnabled()) { logger.debug("Creating API Binding bean for " + ClassUtils.getShortName(apiBindingType)); } BeanDefinition bindingBD = BeanDefinitionBuilder.genericBeanDefinition().getBeanDefinition(); bindingBD.setFactoryBeanName(helperId); bindingBD.setFactoryMethodName("getApi"); bindingBD.setScope("request"); BeanDefinitionHolder scopedProxyBDH = ScopedProxyUtils.createScopedProxy( new BeanDefinitionHolder(bindingBD, ClassUtils.getShortNameAsProperty(apiBindingType)), registry, false); registry.registerBeanDefinition(scopedProxyBDH.getBeanName(), scopedProxyBDH.getBeanDefinition()); return scopedProxyBDH.getBeanDefinition(); }
From source file:org.springframework.social.config.support.ProviderConfigurationSupport.java
private BeanDefinition registerConnectionFactoryLocatorBean(BeanDefinitionRegistry registry) { Class<?> connectionFactoryRegistryClass = isSocialSecurityAvailable() ? org.springframework.social.security.SocialAuthenticationServiceRegistry.class : ConnectionFactoryRegistry.class; if (!registry.containsBeanDefinition(CONNECTION_FACTORY_LOCATOR_ID)) { if (logger.isDebugEnabled()) { logger.debug("Registering ConnectionFactoryLocator bean (" + connectionFactoryRegistryClass.getName() + ")"); }//from w w w. j av a 2 s. co m BeanDefinitionHolder connFactoryLocatorBeanDefHolder = new BeanDefinitionHolder( BeanDefinitionBuilder.genericBeanDefinition(connectionFactoryRegistryClass).getBeanDefinition(), CONNECTION_FACTORY_LOCATOR_ID); BeanDefinitionHolder scopedProxy = ScopedProxyUtils.createScopedProxy(connFactoryLocatorBeanDefHolder, registry, false); registry.registerBeanDefinition(scopedProxy.getBeanName(), scopedProxy.getBeanDefinition()); } BeanDefinition connectionFactoryLocatorBD = registry .getBeanDefinition(ScopedProxyUtils.getTargetBeanName(CONNECTION_FACTORY_LOCATOR_ID)); return connectionFactoryLocatorBD; }
From source file:org.springframework.social.config.support.ProviderConfigurationSupport.java
private BeanDefinition registerApiBindingBean(BeanDefinitionRegistry registry, Class<? extends ApiHelper<?>> apiHelperClass, Class<?> apiBindingType, Map<String, Object> allAttributes) { if (logger.isDebugEnabled()) { logger.debug("Registering API Helper bean for " + ClassUtils.getShortName(apiBindingType)); }/*from ww w .j a v a2s . co m*/ String helperId = "__" + ClassUtils.getShortNameAsProperty(apiBindingType) + "ApiHelper"; // TODO: Make the bean IDs here configurable. BeanDefinition helperBD = getApiHelperBeanDefinitionBuilder(allAttributes).getBeanDefinition(); registry.registerBeanDefinition(helperId, helperBD); if (logger.isDebugEnabled()) { logger.debug("Creating API Binding bean for " + ClassUtils.getShortName(apiBindingType)); } BeanDefinition bindingBD = BeanDefinitionBuilder.genericBeanDefinition().getBeanDefinition(); bindingBD.setFactoryBeanName(helperId); bindingBD.setFactoryMethodName("getApi"); bindingBD.setScope("request"); BeanDefinitionHolder scopedProxyBDH = ScopedProxyUtils.createScopedProxy( new BeanDefinitionHolder(bindingBD, ClassUtils.getShortNameAsProperty(apiBindingType)), registry, false); registry.registerBeanDefinition(scopedProxyBDH.getBeanName(), scopedProxyBDH.getBeanDefinition()); return scopedProxyBDH.getBeanDefinition(); }