当前位置: 首页 > 知识库问答 >
问题:

spring云配置客户端不加载配置文件。认为问题可能是配置文件设置

公良鸿风
2023-03-14

我查看了过去的堆栈跟踪,我有所有正确的设置。我认为这更多的是配置文件的问题。

我没有使用git作为数据源,而是使用S3,但它可以工作,当我运行时在我的本地

http://localhost:8086/application/default

它返回

{
    "name": "application",
    "profiles": [
        "default"
    ],
    "label": null,
    "version": null,
    "state": null,
    "propertySources": [
        {
            "name": "s3:application",
            "source": {
                "environment.profile": "local",

在我的pom上,我已经准备好了春靴

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.3</version>
        <relativePath />
    </parent>

Spring的云是

 <properties>
        <java.version>16</java.version>
        <spring-cloud.version>2020.0.3</spring-cloud.version>
    </properties>

春云已设置

    <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>

设置启动器配置

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

在我设置的客户端的应用程序yml中

spring:
  profiles:
    active: @activatedProperties@
  application:
    name: @artifactId@
  config:
    import: "configserver:"
  cloud:
    config: 
      enabled: true
      uri: http://localhost:8086

@actiatedProperties@是本地、dev、qa或prod。问题是在这种情况下配置文件是本地的并且配置服务器期望默认的事实吗?

共有1个答案

庄瀚玥
2023-03-14

好的,我解决了问题。看看我的设置

spring:
  profiles:
    active: @activatedProperties@
  application:
    name: @artifactId@
  config:
    import: "configserver:"
  cloud:
    config: 
      enabled: true
      uri: http://localhost:8086

配置服务器将按如下方式处理它

http://localhost:8086/my-client/local

my client是应用程序的名称,local是配置文件。它需要映射到所有配置数据都在'

用于此的yml文件将称为“我的客户端本地”。yml。我还将有我的客户qa。yml,my-client-dev.yml,my-client-prod.yml,这样它就能获得正确的配置文件

 类似资料:
  • 我刚刚将我们的Spring Boot项目从引导升级到v2.6.2,从Spring Cloud升级到2021.0.0。 现在,我的远程配置获取没有任何效果,应用程序也无法获取正确的属性文件 [main]INFO o. s. c. c. c. ConfigServiceProperty tySourceLocator-从服务器获取配置:http://localhost:8080 [main]WARN

  • 你知道 Puppet 能做微创手术吗? 通常,我们不希望将整个配置文件交由 Puppet 管理而仅仅是在配置文件中添加某项设置 — 尤其是如果该文件是由别人管理,我们不能覆盖它的情况。 一种简单而有用的方法是,如果配置文件中不存在指定的行就添加这行配置。例如: 添加一个内核模块名到配置文件 /etc/modules 告知内核在启动时加载此模块。 你可以使用一个 exec 资源达成此任务。下面的例子

  • 我目前正在开发一个定制的配置客户端,比如SpringCloud配置客户端。原因是SpringCloudConfigClient在我的特殊情况下没有涵盖一些特殊情况。 为此,像SpringCloudConfigClient一样,我使用的是SpringCloudContext。正如我所看到的,SpringCloudConfigClient在引导阶段加载其配置,但我看不出原因。 在我的自定义配置客户机中

  • 我不确定我是否很好地理解了Spring概要文件是如何处理yaml和属性文件的。我试图将这两种类型的配置分开(这两个文件不共享任何配置),但在从yaml配置中读取配置文件时遇到了问题。 我的问题是,当我试图(通过xml)配置我的数据源时,这样做: Spring总是使用YAML文件中的最后一个配置,忽略概要文件。我试图通过web.xml中的contex-parameter或直接将活动概要文件传递给JV

  • 目录: 在配置项目yml文件中: 问题: null 客户端YML: 有没有人知道我怎样才能在这两种情况下只带一个配置文件?

  • 配置文件分为用户级配置和项目级配置。 用户级配置包含用户的环境及 UI 相关的选项,包括: 用户选项 中的所有内容。 扩展工具,包括已配置的扩展列表。 其他工具中的UI相关选项,例如 Target 组件下 站点地图 的选定视图。 项目级配置包含在特定目标应用程序上执行的工作相关的选项,包括: 项目选项中的所有内容。 单个Burp工具中的非UI相关选项,例如 代理 (Proxy) 和 扫描器 (Sc