zoukankan      html  css  js  c++  java
  • spring cloud:config-eureka-refresh

    config-server-eureka project

    1. File-->new spring project

    2.add dependency

    <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.1.5.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-config-server</artifactId>
                <version>2.1.1.RELEASE</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>
                    spring-cloud-starter-netflix-eureka-client
                </artifactId>
                <version>2.1.1.RELEASE</version>
            </dependency>

    3.Edit application.yml

    server:
      port: 8000
    #spring cloud config native
    spring:
      profiles:
        active: native
      application:
        name: config-server-eureka
      cloud:
        config:
          server:
            native:
              search-locations: /home/smile/workspace-sts/config-repo
    #spring cloud config git
    #spring:
    #  application:
    #    name: config-server-eureka
    #  cloud:
    #    config:
    #      server:
    #        git:
    #          uri: http://localhost:3380/root/smile.git
    #          search-paths: config-repo
    #          username: root
    #          password: root123456
    
    
    eureka:
      client:
        service-url:
          defaultZone: http://localhost:8761/eureka/

    4.program

    package com.smile;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.cloud.config.server.EnableConfigServer;
    import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
    
    @SpringBootApplication
    @EnableEurekaClient
    @EnableConfigServer
    public class ConfigServerEurekaApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(ConfigServerEurekaApplication.class, args);
        }
    
    }

    5.Run

    visit : http://localhost:8000/smile/config-dev

    config-client-eureka

    1. File-->new spring project

    2.add dependency

    <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.1.5.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-config</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-actuator</artifactId>
            </dependency>
    spring-boot-starter-actuator refresh 需要用到

    3.Edit application.yml

    bootstrap.yml

    server:
      port: 8003
    
    spring:
      application:
        name: config-client-eureka
      cloud:
        config:
    #      uri: http://localhost:8000/
          discovery:
            enabled: true
            service-id: config-server-eureka
          name: smile
          profile: config-dev
          # dev 开发环境配置文件 |  test 测试环境  |  pro 正式环境   smile-config-dev.properties {name}-{profile}.properties
          
    eureka:
      client:
    #    registerWithEureka: false
    #    fetchRegistry: false
        serviceUrl:
          defaultZone: http://localhost:8761/eureka/
          

    application.yml

    management: 
    #  server:
    #    port: 8003
      endpoint:
        refresh:
          enabled: true
      endpoints:
        web:
          exposure:
            include:
            - info
            - health
            - refresh

    4.program

    ConfigClientEurekaApplication
    package com.smile;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.cloud.context.config.annotation.RefreshScope;
    import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
    
    @SpringBootApplication
    @EnableEurekaClient
    @RefreshScope
    public class ConfigClientEurekaApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(ConfigClientEurekaApplication.class, args);
        }
    
    }
    ConfigClientController
    package com.smile.controller;
    
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.cloud.context.config.annotation.RefreshScope;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    @RefreshScope
    public class ConfigClientController {
        
        @Value("${name}")
        String name;
        @Value("${age}")
        String age;
        
        @RequestMapping("/hello")
        public String hello() {
            return "name:"+name+",age:"+age;
        }
    }

    5.Run

    visit:  http://localhost:8003/hello/

    refresh:

    update smile-config-dev.properties  age=25--->age=15   save

     

    post  http://localhost:8003/actuator/refresh with firefox browser

     

    visit:  http://localhost:8003/hello/   age is changed

  • 相关阅读:
    Nginx系列p5:进程管理(信号)
    Nginx系列p4:进程结构
    one_day_one_linuxCmd---crontab 命令
    Nginx系列p3:实现一个具有缓存功能的反向代理服务器
    Nginx系列p2:重载,热部署,日志分割
    Nginx系列p1:安装
    数据链路层
    物理层习题与真题
    物理层
    计算机网络体系结构习题与真题
  • 原文地址:https://www.cnblogs.com/alittlesmile/p/10892288.html
Copyright © 2011-2022 走看看