zoukankan      html  css  js  c++  java
  • Eureka源码解读

      Eureka是我接触分布式软件和服务的第一个框架,所以其原理和实现我的好好研究一下,Eureka可以参看这篇博文:http://springcloud.cn/view/29

      初学者会在教程中看到使用@EnableEurekaClient,下面看看这个注解干了啥事。

    @Order(2147483547)
    public class EnableDiscoveryClientImportSelector extends SpringFactoryImportSelector<EnableDiscoveryClient> {
        public EnableDiscoveryClientImportSelector() {
        }
    
        public String[] selectImports(AnnotationMetadata metadata) {
            String[] imports = super.selectImports(metadata);
            AnnotationAttributes attributes = AnnotationAttributes.fromMap(metadata.getAnnotationAttributes(this.getAnnotationClass().getName(), true));
    // 这个代码确实很难看,它是自动配置了哪些类呢?
         boolean
    autoRegister = attributes.getBoolean("autoRegister"); if (autoRegister) { List<String> importsList = new ArrayList(Arrays.asList(imports)); importsList.add("org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationConfiguration"); imports = (String[])importsList.toArray(new String[0]); } else { Environment env = this.getEnvironment(); if (ConfigurableEnvironment.class.isInstance(env)) { ConfigurableEnvironment configEnv = (ConfigurableEnvironment)env; LinkedHashMap<String, Object> map = new LinkedHashMap(); map.put("spring.cloud.service-registry.auto-registration.enabled", false); MapPropertySource propertySource = new MapPropertySource("springCloudDiscoveryClient", map); configEnv.getPropertySources().addLast(propertySource); } } return imports; } protected boolean isEnabled() { return (Boolean)this.getEnvironment().getProperty("spring.cloud.discovery.enabled", Boolean.class, Boolean.TRUE); } protected boolean hasDefaultFactory() { return true; } }
  • 相关阅读:
    String 对象-->indexOf() 方法
    String 对象-->大小比较
    String 对象-->判断是否相等
    String 对象-->toUpperCase() 方法
    String 对象-->toLowerCase() 方法
    String 对象-->fromCharCode() 方法
    String 对象-->charCodeAt() 方法
    从零开始学 Web 之 CSS3(六)动画animation,Web字体
    从零开始学 Web 之 CSS3(五)transform
    从零开始学 Web 之 CSS3(四)边框图片,过渡
  • 原文地址:https://www.cnblogs.com/Robin008/p/10348846.html
Copyright © 2011-2022 走看看