List of usage examples for org.springframework.beans.factory.support RootBeanDefinition setRole
@Override public void setRole(int role)
From source file:org.jdal.aop.SerializableProxyUtils.java
public static BeanDefinitionHolder createSerializableProxy(BeanDefinitionHolder definition, BeanDefinitionRegistry registry, boolean proxyTargetClass) { String originalBeanName = definition.getBeanName(); BeanDefinition targetDefinition = definition.getBeanDefinition(); // Create a scoped proxy definition for the original bean name, // "hiding" the target bean in an internal target definition. RootBeanDefinition proxyDefinition = new RootBeanDefinition(SerializableProxyFactoryBean.class); proxyDefinition.setOriginatingBeanDefinition(definition.getBeanDefinition()); proxyDefinition.setSource(definition.getSource()); proxyDefinition.setRole(BeanDefinition.ROLE_INFRASTRUCTURE); String targetBeanName = getTargetBeanName(originalBeanName); proxyDefinition.getPropertyValues().add("targetBeanName", targetBeanName); if (proxyTargetClass) { targetDefinition.setAttribute(AutoProxyUtils.PRESERVE_TARGET_CLASS_ATTRIBUTE, Boolean.TRUE); } else {//from w w w . j a va 2 s . com proxyDefinition.getPropertyValues().add("proxyTargetClass", Boolean.FALSE); } // Copy autowire settings from original bean definition. proxyDefinition.setAutowireCandidate(targetDefinition.isAutowireCandidate()); proxyDefinition.setPrimary(targetDefinition.isPrimary()); if (targetDefinition instanceof AbstractBeanDefinition) { proxyDefinition.copyQualifiersFrom((AbstractBeanDefinition) targetDefinition); } // Set singleton property of FactoryBean proxyDefinition.getPropertyValues().add("singleton", !targetDefinition.isPrototype()); // The target bean should be ignored in favor of the scoped proxy. targetDefinition.setAutowireCandidate(false); targetDefinition.setPrimary(false); // Register the target bean as separate bean in the factory. registry.registerBeanDefinition(targetBeanName, targetDefinition); // Return the scoped proxy definition as primary bean definition // (potentially an inner bean). return new BeanDefinitionHolder(proxyDefinition, originalBeanName, definition.getAliases()); }
From source file:com.springinpractice.ch14.kite.config.xml.GuardListAdviceParser.java
@Override protected void doParse(Element elem, BeanDefinitionBuilder builder) { builder.setRole(BeanDefinition.ROLE_INFRASTRUCTURE); // If an advice is explicitly defined, then we're using the DefaultCircuitBreakerSource. RootBeanDefinition srcDef = new RootBeanDefinition(DefaultGuardListSource.class); srcDef.setSource(elem);// w w w.j a va 2 s. c om srcDef.setRole(BeanDefinition.ROLE_INFRASTRUCTURE); srcDef.getPropertyValues().add("guards", new RuntimeBeanReference(elem.getAttribute("guards"))); builder.addPropertyValue("source", srcDef); }
From source file:org.wso2.msf4j.spring.MSF4JBeanDefinitionRegistryPostProcessor.java
private void registerBeanDefinition(BeanDefinitionRegistry registry, String beanName, Class beanClass) { RootBeanDefinition beanDefinition = new RootBeanDefinition(beanClass); beanDefinition.setTargetType(beanClass); beanDefinition.setRole(BeanDefinition.ROLE_APPLICATION); registry.registerBeanDefinition(beanName, beanDefinition); }
From source file:org.zkybase.kite.config.xml.CircuitBreakerAdviceParser.java
@Override protected void doParse(Element elem, BeanDefinitionBuilder builder) { builder.setRole(BeanDefinition.ROLE_INFRASTRUCTURE); // If an advice is explicitly defined, then we're using the // DefaultCircuitBreakerSource. RootBeanDefinition srcDef = new RootBeanDefinition(DefaultCircuitBreakerSource.class); srcDef.setSource(elem);//from w w w .j a v a2s .com srcDef.setRole(BeanDefinition.ROLE_INFRASTRUCTURE); srcDef.getPropertyValues().add("breaker", new RuntimeBeanReference(elem.getAttribute("breaker"))); builder.addPropertyValue("circuitBreakerSource", srcDef); }
From source file:org.zkybase.kite.config.xml.ThrottleAdviceParser.java
@Override protected void doParse(Element elem, BeanDefinitionBuilder builder) { builder.setRole(BeanDefinition.ROLE_INFRASTRUCTURE); // If an advice is explicitly defined, then we're using the // DefaultThrottleSource. RootBeanDefinition srcDef = new RootBeanDefinition(DefaultThrottleSource.class); srcDef.setSource(elem);/* ww w . ja va 2 s . c om*/ srcDef.setRole(BeanDefinition.ROLE_INFRASTRUCTURE); srcDef.getPropertyValues().add("throttle", new RuntimeBeanReference(elem.getAttribute("throttle"))); builder.addPropertyValue("throttleSource", srcDef); }
From source file:com._4dconcept.springframework.data.marklogic.repository.config.MarklogicRepositoryConfigurationExtension.java
@Override public void registerBeansForRoot(BeanDefinitionRegistry registry, RepositoryConfigurationSource configurationSource) { super.registerBeansForRoot(registry, configurationSource); if (!registry.containsBeanDefinition(BeanNames.MAPPING_CONTEXT_BEAN_NAME)) { RootBeanDefinition definition = new RootBeanDefinition(MarklogicMappingContext.class); definition.setRole(BeanDefinition.ROLE_INFRASTRUCTURE); definition.setSource(configurationSource.getSource()); registry.registerBeanDefinition(BeanNames.MAPPING_CONTEXT_BEAN_NAME, definition); }/*from ww w.java 2s .c om*/ }
From source file:com.frank.search.solr.repository.config.SolrRepositoryConfigExtension.java
private void registerSolrMappingContextIfNotPresent(BeanDefinitionRegistry registry, RepositoryConfigurationSource configurationSource) { RootBeanDefinition definition = new RootBeanDefinition(SimpleSolrMappingContext.class); definition.setRole(AbstractBeanDefinition.ROLE_INFRASTRUCTURE); definition.setSource(configurationSource.getSource()); registerIfNotAlreadyRegistered(definition, registry, BeanDefinition.SOLR_MAPPTING_CONTEXT.getBeanName(), definition);//from www. j a v a 2 s. co m }
From source file:com.github.spring.mvc.util.handler.config.UriMatchingAnnotationDrivenBeanDefinitionParser.java
/** * Create the {@link Pointcut} used to apply the caching interceptor * @return Reference to the {@link Pointcut}. Should never be null. *///from w w w. j av a2 s. c o m protected RuntimeBeanReference setupPointcut(Element element, ParserContext parserContext, Object elementSource) { final RootBeanDefinition pointcut = new RootBeanDefinition(UriMatchingStaticMethodMatcherPointcut.class); pointcut.setSource(elementSource); pointcut.setRole(BeanDefinition.ROLE_INFRASTRUCTURE); final XmlReaderContext readerContext = parserContext.getReaderContext(); final String pointcutBeanName = readerContext.registerWithGeneratedName(pointcut); return new RuntimeBeanReference(pointcutBeanName); }
From source file:br.com.caelum.vraptor.ioc.spring.SpringRegistry.java
private void registerCustomInjectionProcessor() { RootBeanDefinition definition = new RootBeanDefinition(InjectionBeanPostProcessor.class); definition.setRole(BeanDefinition.ROLE_INFRASTRUCTURE); definition.getPropertyValues().addPropertyValue("order", Ordered.LOWEST_PRECEDENCE); ((BeanDefinitionRegistry) beanFactory) .registerBeanDefinition(AnnotationConfigUtils.AUTOWIRED_ANNOTATION_PROCESSOR_BEAN_NAME, definition); }
From source file:com.github.spring.mvc.util.handler.config.UriMatchingAnnotationDrivenBeanDefinitionParser.java
/** * Create {@link PointcutAdvisor} that puts the {@link Pointcut} and {@link MethodInterceptor} together. * @return Reference to the {@link PointcutAdvisor}. Should never be null. *///from www . j a va2 s .c om protected RuntimeBeanReference setupPointcutAdvisor(Element element, ParserContext parserContext, Object elementSource, RuntimeBeanReference pointcutReference, RuntimeBeanReference interceptorReference) { final RootBeanDefinition pointcutAdvisor = new RootBeanDefinition(DefaultBeanFactoryPointcutAdvisor.class); pointcutAdvisor.setSource(elementSource); pointcutAdvisor.setRole(BeanDefinition.ROLE_INFRASTRUCTURE); final MutablePropertyValues propertyValues = pointcutAdvisor.getPropertyValues(); propertyValues.addPropertyValue("adviceBeanName", interceptorReference.getBeanName()); propertyValues.addPropertyValue("pointcut", pointcutReference); if (element.hasAttribute("order")) { propertyValues.addPropertyValue("order", element.getAttribute("order")); } final BeanDefinitionRegistry registry = parserContext.getRegistry(); registry.registerBeanDefinition(CACHING_ADVISOR_BEAN_NAME, pointcutAdvisor); return new RuntimeBeanReference(CACHING_ADVISOR_BEAN_NAME); }