首页 > 解决方案 > 无法使用 PCF 配置服务器服务中的配置客户端应用程序读取属性值

问题描述

在我的 PCF 日志中,配置客户端应用程序给出“ConfigServicePropertySourceLocator:无法找到 PropertySource:401 Unauthorized”

我有 gitlab 存储库来在 PCF 配置服务器中提供属性文件。如果我检查配置服务器 - > 管理 - > 它给出“配置服务器在线”

我在哪里缺少配置?

bootstrap.yml 配置客户端应用程序

spring:
  application:
    name: <config-client-name>
  cloud:
    config:
      enabled: true
      name: <config-server-instance-name>
      uri: <uri details from view credential modal>
#      username: <tried different permutations to get it working>
#      password: <tried different permutations to get it working>
management: 
  security: 
    enabled: false

manifest.yml 配置客户端应用程序

applications:
- name: <app-name>
  host: <app-name>
  memory: 1024M
  instances: 1
  path: /target/<app-name>-0.0.1-SNAPSHOT.jar
  buildpack: java_buildpack_offline
  services:
    - <pcf config server instance name>
  env:
    SPRING_PROFILES_ACTIVE: dev

我做了很多工作以获得一些结果,但没有运气,示例应用程序运行良好。我已经使用 github 存储库尝试了我自己的配置服务器和配置客户端应用程序,并且它有效。

但是在 PCF 中我完全被卡住了,请帮忙。

标签: spring-bootgitlabspring-cloudcloud-foundrypcf

解决方案


您的配置看起来没有任何问题。如果您在 PCF 中看到配置服务器在线,则表示配置服务已正确初始化并可以使用。

但是,让我们尝试使用适合您的示例应用程序。

build.gradle如果您正在使用 gradle build ,请在您身上添加以下信息(或pom.xml相应地添加。)

  1. SCS(Spring Cloud services)springBootVersion = '2.0.6.RELEASE' (如果您使用不同版本的 spring-boot,提到的版本与 Check for Comparability 兼容。)

    进口{

        mavenBom "io.pivotal.spring.cloud:spring-cloud-services-dependencies:2.0.1.RELEASE"
        mavenBom "org.springframework.cloud:spring-cloud-dependencies:Finchley.RELEASE"
    
     }
    
  2. 包括配置客户端依赖项

compile("io.pivotal.spring.cloud:spring-cloud-services-starter-config-client")

现在让我们转到bootstrap.yml:仅以下信息就足以选择属性

spring:
  application:
    name: <config-client-name>

application.yml如果您在推送到 PCF 时使用相同的活动配置文件,则无需更改。


推荐阅读