/** * Create, if necessary, a bean definition for a HandlerDefinition and returns the reference to bean for use in * other Bean Definitions. * * @param registry The registry in which to look for an already existing instance * @return a BeanReference to the BeanDefinition for the HandlerDefinition */ public static RuntimeBeanReference getBeanReference(BeanDefinitionRegistry registry) { if (!registry.containsBeanDefinition(HANDLER_DEFINITION_BEAN_NAME)) { BeanDefinition definition = BeanDefinitionBuilder .genericBeanDefinition(SpringHandlerDefinitionBean.class).getBeanDefinition(); BeanDefinition enhancer = BeanDefinitionBuilder .genericBeanDefinition(SpringHandlerEnhancerDefinitionBean.class).getBeanDefinition(); AbstractBeanDefinition def = BeanDefinitionBuilder.genericBeanDefinition(MultiHandlerDefinition.class) .addConstructorArgValue(definition) .addConstructorArgValue(enhancer) .getBeanDefinition(); def.setPrimary(true); registry.registerBeanDefinition(HANDLER_DEFINITION_BEAN_NAME, def); } return new RuntimeBeanReference(HANDLER_DEFINITION_BEAN_NAME); } }
/** * Create, if necessary, a bean definition for a ParameterResolverFactory and returns the reference to bean for use * in other Bean Definitions. * * @param registry The registry in which to look for an already existing instance * @return a BeanReference to the BeanDefinition for the ParameterResolverFactory */ public static RuntimeBeanReference getBeanReference(BeanDefinitionRegistry registry) { if (!registry.containsBeanDefinition(PARAMETER_RESOLVER_FACTORY_BEAN_NAME)) { final ManagedList<BeanDefinition> factories = new ManagedList<>(); factories.add(BeanDefinitionBuilder.genericBeanDefinition(ClasspathParameterResolverFactoryBean.class) .getBeanDefinition()); factories.add(BeanDefinitionBuilder.genericBeanDefinition(SpringBeanParameterResolverFactory.class) .getBeanDefinition()); AbstractBeanDefinition def = BeanDefinitionBuilder.genericBeanDefinition(ApplicationContextLookupParameterResolverFactory.class) .addConstructorArgValue(factories) .getBeanDefinition(); def.setPrimary(true); registry.registerBeanDefinition(PARAMETER_RESOLVER_FACTORY_BEAN_NAME, def); } return new RuntimeBeanReference(PARAMETER_RESOLVER_FACTORY_BEAN_NAME); }
bd.setPrimary(TRUE_VALUE.equals(ele.getAttribute(PRIMARY_ATTRIBUTE)));
bd.setPrimary(TRUE_VALUE.equals(ele.getAttribute(PRIMARY_ATTRIBUTE)));
setDependsOn(otherAbd.getDependsOn()); setAutowireCandidate(otherAbd.isAutowireCandidate()); setPrimary(otherAbd.isPrimary()); copyQualifiersFrom(otherAbd); setInstanceSupplier(otherAbd.getInstanceSupplier());
setDependsOn(otherAbd.getDependsOn()); setAutowireCandidate(otherAbd.isAutowireCandidate()); setPrimary(otherAbd.isPrimary()); copyQualifiersFrom(otherAbd); setInstanceSupplier(otherAbd.getInstanceSupplier());
setDependsOn(originalAbd.getDependsOn()); setAutowireCandidate(originalAbd.isAutowireCandidate()); setPrimary(originalAbd.isPrimary()); copyQualifiersFrom(originalAbd); setInstanceSupplier(originalAbd.getInstanceSupplier());
private void createLocalObjectStoreBeanDefinitions() { AtomicBoolean anyBaseStoreWasRedefined = new AtomicBoolean(false); OBJECT_STORE_NAME_TO_LOCAL_OBJECT_STORE_NAME.entrySet().forEach(objectStoreLocal -> customServiceRegistry .getOverriddenService(objectStoreLocal.getKey()).ifPresent(customService -> { anyBaseStoreWasRedefined.set(true); beanDefinitionRegistry.registerBeanDefinition(objectStoreLocal.getKey(), getCustomServiceBeanDefinition(customService, objectStoreLocal .getKey())); })); if (anyBaseStoreWasRedefined.get()) { final AbstractBeanDefinition beanDefinition = getBeanDefinitionBuilder(MuleObjectStoreManager.class) .addPropertyValue("basePersistentStoreKey", OBJECT_LOCAL_STORE_PERSISTENT) .addPropertyValue("baseTransientStoreKey", OBJECT_LOCAL_STORE_IN_MEMORY) .getBeanDefinition(); beanDefinition.setPrimary(false); beanDefinitionRegistry.registerBeanDefinition(LOCAL_OBJECT_STORE_MANAGER, beanDefinition); } else { beanDefinitionRegistry.registerAlias(OBJECT_STORE_MANAGER, LOCAL_OBJECT_STORE_MANAGER); } }
setDependsOn(originalAbd.getDependsOn()); setAutowireCandidate(originalAbd.isAutowireCandidate()); setPrimary(originalAbd.isPrimary()); copyQualifiersFrom(originalAbd); setInstanceSupplier(originalAbd.getInstanceSupplier());
bd.setPrimary(TRUE_VALUE.equals(ele.getAttribute(PRIMARY_ATTRIBUTE)));
setAutowireMode(otherAbd.getAutowireMode()); copyQualifiersFrom(otherAbd); setPrimary(otherAbd.isPrimary()); setDependencyCheck(otherAbd.getDependencyCheck()); setDependsOn(otherAbd.getDependsOn());
@Override protected BeanDefinition getSpringBeanDefinition(MockDefinition mockDefinition) { AbstractBeanDefinition beanDefinition = BeanDefinitionBuilder.genericBeanDefinition(MockFactorySpringockito.class.getCanonicalName()) .addPropertyValue("mockClass",mockDefinition.getMockClass()) .addPropertyValue("mockitoMockSettings",mockDefinition.getMockitoMockSettings()) .getBeanDefinition(); beanDefinition.setPrimary(true); return beanDefinition; } }
private void register(String dsName, String jdbcUrl, DataSource dataSource) { // Package TransactionManager AbstractBeanDefinition transactionManager = BeanDefinitionBuilder.rootBeanDefinition(DataSourceTransactionManager.class) .addConstructorArgValue(dataSource).getBeanDefinition(); transactionManager.setScope("singleton"); transactionManager.setPrimary(false); beanFactory.registerBeanDefinition(dsName + "TransactionManager", transactionManager); // Register JdbcTemplate AbstractBeanDefinition jdbcTemplate = BeanDefinitionBuilder.rootBeanDefinition(JdbcTemplate.class) .addConstructorArgValue(dataSource).getBeanDefinition(); jdbcTemplate.setScope("singleton"); jdbcTemplate.setPrimary(false); beanFactory.registerBeanDefinition(dsName + "JdbcTemplate", jdbcTemplate); // Register DS AbstractBeanDefinition dsBean = BeanDefinitionBuilder.rootBeanDefinition(DewDS.class) .addPropertyReference("jdbcTemplate", dsName + "JdbcTemplate") .addPropertyValue("jdbcUrl", jdbcUrl) .setInitMethodName("init").getBeanDefinition(); dsBean.setScope("singleton"); dsBean.setPrimary(false); beanFactory.registerBeanDefinition(dsName + "DS", dsBean); }
@Override public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry) { BeanDefinitionBuilder registryFactoryBeanBuilder = BeanDefinitionBuilder .rootBeanDefinition(PluginRegistryFactoryBean.class); registryFactoryBeanBuilder.addPropertyValue("type", EntityLinks.class); registryFactoryBeanBuilder.addPropertyValue("exclusions", DelegatingEntityLinks.class); AbstractBeanDefinition registryBeanDefinition = registryFactoryBeanBuilder.getBeanDefinition(); registry.registerBeanDefinition("entityLinksPluginRegistry", registryBeanDefinition); BeanDefinitionBuilder delegateBuilder = BeanDefinitionBuilder.rootBeanDefinition(DelegatingEntityLinks.class); delegateBuilder.addConstructorArgValue(registryBeanDefinition); BeanDefinitionBuilder builder = getEntityControllerLinksFor(Controller.class, ControllerLinkBuilderFactory.class); registry.registerBeanDefinition("controllerEntityLinks", builder.getBeanDefinition()); delegateBuilder.addDependsOn("controllerEntityLinks"); if (IS_JAX_RS_PRESENT) { JaxRsEntityControllerBuilderDefinitionBuilder definitionBuilder = new JaxRsEntityControllerBuilderDefinitionBuilder(); registry.registerBeanDefinition("jaxRsEntityLinks", definitionBuilder.getBeanDefinition()); delegateBuilder.addDependsOn("jaxRsEntityLinks"); } AbstractBeanDefinition beanDefinition = delegateBuilder.getBeanDefinition(); beanDefinition.setPrimary(true); registry.registerBeanDefinition("delegatingEntityLinks", beanDefinition); }
private void register(String dsName, String jdbcUrl, DataSource dataSource) { // Package TransactionManager AbstractBeanDefinition transactionManager = BeanDefinitionBuilder.rootBeanDefinition(DataSourceTransactionManager.class) .addConstructorArgValue(dataSource).getBeanDefinition(); transactionManager.setScope("singleton"); transactionManager.setPrimary(false); beanFactory.registerBeanDefinition(dsName + "TransactionManager", transactionManager); // Register JdbcTemplate AbstractBeanDefinition jdbcTemplate = BeanDefinitionBuilder.rootBeanDefinition(JdbcTemplate.class) .addConstructorArgValue(dataSource).getBeanDefinition(); jdbcTemplate.setScope("singleton"); jdbcTemplate.setPrimary(false); beanFactory.registerBeanDefinition(dsName + "JdbcTemplate", jdbcTemplate); // Register DS AbstractBeanDefinition dsBean = BeanDefinitionBuilder.rootBeanDefinition(DevxDS.class) .addPropertyReference("jdbcTemplate", dsName + "JdbcTemplate") .addPropertyValue("jdbcUrl", jdbcUrl) .setInitMethodName("init").getBeanDefinition(); dsBean.setScope("singleton"); dsBean.setPrimary(false); beanFactory.registerBeanDefinition(dsName + "DS", dsBean); }
private void initConfig() { entityManagerFactoryPropertiesMap.forEach((name,properties) -> { if (!StringUtil.notEmpty(properties.getName())) { properties.setName(name); } logger.info("register EntityManagerFactory: {} for packages: {} and datasource {}", name, properties.getEntityPackages(), properties.getDatasource()); BeanDefinitionBuilder beanDefinitionBuilder = BeanDefinitionBuilder.genericBeanDefinition(EntityManagerFactoryFactoryBean.class); beanDefinitionBuilder.addPropertyReference("dataSource", properties.getDatasource()); beanDefinitionBuilder.addPropertyValue("entityManagerFactoryProperties", properties); AbstractBeanDefinition beanDefinition = beanDefinitionBuilder.getBeanDefinition(); if (name.equals("entityManagerFactory")) { beanDefinition.setPrimary(true); } this.registry.registerBeanDefinition(name, beanDefinitionBuilder.getBeanDefinition()); }); }
private void registerRpcClient(BeanDefinitionRegistry registry, AnnotationMetadata annotationMetadata, Map<String, Object> attributes) { String className = annotationMetadata.getClassName(); BeanDefinitionBuilder definition = BeanDefinitionBuilder .genericBeanDefinition( RpcClientEntity.class ); definition.addPropertyValue( "name", attributes.get( "name" ) ); definition.addPropertyValue( "isSyn", attributes.get( "isSyn" ) ); definition.addPropertyValue( "host", attributes.get( "host" ) ); definition.addPropertyValue( "port", attributes.get( "port" ) ); definition.addPropertyValue( "rpcClz", attributes.get( "rpcClz" ) ); definition.addPropertyValue( "traceIdIndex", attributes.get( "traceIdIndex" ) ); definition.setAutowireMode( AbstractBeanDefinition.AUTOWIRE_BY_NAME ); try { definition.addPropertyValue( "interfaze", Class.forName( className ) ); } catch (ClassNotFoundException e) { LOG.error( "Get interface for name error", e ); } // definition.setAutowireMode( AbstractBeanDefinition.AUTOWIRE_BY_TYPE ); String alias = className; AbstractBeanDefinition beanDefinition = definition.getBeanDefinition(); beanDefinition.setPrimary( false ); definition.addPropertyValue( "interceptor", getInterceptor( beanDefinition.getPropertyValues() ) ); BeanDefinitionHolder holder = new BeanDefinitionHolder( beanDefinition, className, new String[]{alias} ); LOG.info( "registerRpcClient:" + className ); BeanDefinitionReaderUtils.registerBeanDefinition( holder, registry ); }
private void registerReactiveFeignClient(BeanDefinitionRegistry registry, AnnotationMetadata annotationMetadata, Map<String, Object> attributes) { String className = annotationMetadata.getClassName(); BeanDefinitionBuilder definition = BeanDefinitionBuilder .genericBeanDefinition(ReactiveFeignClientFactoryBean.class); validate(attributes); definition.addPropertyValue("url", getUrl(attributes)); definition.addPropertyValue("path", getPath(attributes)); String name = getName(attributes); definition.addPropertyValue("name", name); definition.addPropertyValue("type", className); definition.addPropertyValue("decode404", attributes.get("decode404")); definition.addPropertyValue("fallback", attributes.get("fallback")); definition.addPropertyValue("fallbackFactory", attributes.get("fallbackFactory")); definition.setAutowireMode(AbstractBeanDefinition.AUTOWIRE_BY_TYPE); String alias = name + "ReactiveFeignClient"; AbstractBeanDefinition beanDefinition = definition.getBeanDefinition(); boolean primary = (Boolean)attributes.get("primary"); // has a default, won't be null beanDefinition.setPrimary(primary); String qualifier = getQualifier(attributes); if (StringUtils.hasText(qualifier)) { alias = qualifier; } BeanDefinitionHolder holder = new BeanDefinitionHolder(beanDefinition, className, new String[] { alias }); BeanDefinitionReaderUtils.registerBeanDefinition(holder, registry); }
private void registerFeignClient(BeanDefinitionRegistry registry, AnnotationMetadata annotationMetadata, Map<String, Object> attributes) { String className = annotationMetadata.getClassName(); BeanDefinitionBuilder definition = BeanDefinitionBuilder .genericBeanDefinition(FeignClientFactoryBean.class); validate(attributes); definition.addPropertyValue("url", getUrl(attributes)); definition.addPropertyValue("path", getPath(attributes)); String name = getName(attributes); definition.addPropertyValue("name", name); String contextId = getContextId(attributes); definition.addPropertyValue("contextId", contextId); definition.addPropertyValue("type", className); definition.addPropertyValue("decode404", attributes.get("decode404")); definition.addPropertyValue("fallback", attributes.get("fallback")); definition.addPropertyValue("fallbackFactory", attributes.get("fallbackFactory")); definition.setAutowireMode(AbstractBeanDefinition.AUTOWIRE_BY_TYPE); String alias = contextId + "FeignClient"; AbstractBeanDefinition beanDefinition = definition.getBeanDefinition(); boolean primary = (Boolean)attributes.get("primary"); // has a default, won't be null beanDefinition.setPrimary(primary); String qualifier = getQualifier(attributes); if (StringUtils.hasText(qualifier)) { alias = qualifier; } BeanDefinitionHolder holder = new BeanDefinitionHolder(beanDefinition, className, new String[] { alias }); BeanDefinitionReaderUtils.registerBeanDefinition(holder, registry); }
setAutowireCandidate(originalAbd.isAutowireCandidate()); copyQualifiersFrom(originalAbd); setPrimary(originalAbd.isPrimary()); setNonPublicAccessAllowed(originalAbd.isNonPublicAccessAllowed()); setLenientConstructorResolution(originalAbd.isLenientConstructorResolution());