【问题标题】:If you have set spring.cloud.config.server.bootstrap=true, you need to use a composite configuration如果设置了spring.cloud.config.server.bootstrap=true,则需要使用复合配置
【发布时间】:2021-10-27 12:27:32
【问题描述】:

问题:如何获取位置https://github.com/TEK-Leads/Config-Properties.git

的数据

当我尝试运行这个应用程序时,它没有显示任何结果,它只显示默认的通过结果(see. MessageController)。或 ConfigClient 端日志显示 这种按摩。

找不到 PropertySource:对“http://localhost:8888/application/default”的 GET 请求出现 I/O 错误:连接被拒绝;嵌套异常是 java.net.ConnectException: Connection denied

config-Serverapplication.yml 文件更改为 bootstrap.yml 时,在下面抛出异常。

If you are using the git profile, you need to set a Git URI in your configuration.  If you have set spring.cloud.config.server.bootstrap=true, you need to use a composite configuration.

配置服务器部分


Pom.xml

    <properties>
    <java.version>11</java.version>
    <spring-cloud.version>2020.0.3</spring-cloud.version>
</properties>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-config-server</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <scope>runtime</scope>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>${spring-cloud.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

application.yml

server:
  port: 9090

spring:
  cloud:
    config:
      server:
        git:
          uri: https://github.com/TEK-Leads/Config-Properties.git
          clone-on-start: true
        bootstrap: true
      enabled: true
   
  application:
    name: Config-Server

management:
  security:
    enabled: false

ConfigurationServerApp.class

package com.ramgovindhare.configserverapp;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.config.server.EnableConfigServer;

@SpringBootApplication
@EnableConfigServer
public class ConfigServerAppApplication {

    public static void main(String[] args) {
        SpringApplication.run(ConfigServerAppApplication.class, args);
    }
}

配置客户端部分


Pom.xml

<properties>
    <java.version>11</java.version>
    <spring-cloud.version>2020.0.3</spring-cloud.version>
</properties>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-config</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-bootstrap</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <scope>runtime</scope>
        <optional>true</optional>
    </dependency>
</dependencies>
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>${spring-cloud.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

application.yml

spring:
  application:
    name: client-config
    
  cloud:
    config:
      uri: http://localhost:9090
  config:
    activate:
      on-profile:
        active:prod
            
management:
  security:
    enabled:false
  

ConfigClient.class

    package com.ramgovindhare.configserverclientapp.contorller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RefreshScope
@RestController
public class MessageController {
    
    @Value("${msg:Config Server is not working. Please check..}")
    private String msg;
    
    @GetMapping("/msg")
    public String getMsg() {
        return this.msg;
    }
}

【问题讨论】:

    标签: java spring spring-boot microservices spring-cloud-config


    【解决方案1】:

    尝试在pom.xml文件中添加依赖:

    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-bootstrap</artifactId>
    </dependency>
    

    【讨论】:

      【解决方案2】:

      据记录 here

      如果你使用引导标志,配置服务器需要有它的 在 bootstrap.yml 中配置的名称和存储库 URI。

      您没有发布引导文件,因此不清楚您是否已定义它们。如果没有,那可能是问题的根源,因为您已将 spring.cloud.config.server.bootstrap 设置为 true。在配置服务器的资源文件夹中的 bootstrap.properties 文件中,您需要定义以下属性:

      配置服务器 bootstrap.properties

      spring:
        cloud:
          config:
            server:
              git:
                uri: https://github.com/TEK-Leads/Config-Properties.git
                clone-on-start: true
              bootstrap: true
            enabled: true
         
        application:
          name: Config-Server
      

      配置客户端 bootstrap.properties

      spring:
        application:
          name: client-config
          
        cloud:
          config:
            uri: http://localhost:9090
        config:
          activate:
            on-profile:
              active:prod
      

      还可能值得注意的是,自 Spring Boot 2.4 起,引导上下文初始化已被弃用,因此此设置不再需要使用引导。更多信息请访问https://docs.spring.io/spring-cloud-config/docs/current/reference/html/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-09-18
        • 2021-08-14
        • 2019-11-12
        • 2018-12-21
        • 2016-12-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多