通过CF中的环境变量配置Spring Eureka Client

问题描述 投票:0回答:2

尝试在 Pivotal Web Services 上运行旧版本的 Spring Boot。

需要连接到Eureka服务器。我在 PWS 中运行客户端应用程序的同一空间中建立了一个新的 Eureka 服务器。

由于我没有客户端应用程序的代码(无法修改应用程序属性/yml文件),因此我需要配置客户端的Eureka客户端以使用环境变量连接到新的Eureka服务器。

这是我尝试过的:

在 Cloud Foundries 'manifest.yml' 中,我目前有:


---
applications:
- name: <Client application name>
  ...
  other non related settings
  ...
  env:
    EUREKA_INSTANCE_HOSTNAME: https://<pws route of eureka server>

这个没有被拾取。

看起来该属性是这样获取的: https://jar-download.com/artifacts/org.springframework.cloud/spring-cloud-netflix-eureka-client/1.1.0.RELEASE/source-code/org/springframework/cloud/netflix/eureka/EurekaClientAutoConfiguration .java

我尝试了一些变量名称:

  • eureka.instance.主机名

  • EUREKA_CLIENT_SERVICEURL_DEFAULTZONE

  • eureka.client.serviceUrl.defaultZone

我还尝试在manifest.yml中以相同的方式设置SPRING_APPLICATION_JSON来包含这些组合。

他们似乎都没有被接走。

有其他方法可以做到这一点吗?再说一次,我无权访问代码,只能访问 Jar。

spring-boot configuration spring-cloud
2个回答
0
投票

所以它不太漂亮,但我可以使用 VIM 修改 Jars 中的 application.properties 文件以包含此设置:


eureka.client.serviceUrl.defaultZone=<pws route>/eureka/

刚刚使 Jar 可写,添加该设置,保存,然后 cf 将其推送。作品。不知道为什么 ENV 不起作用,但它不值得修复。这个 Jar 中的所有内容都是古老的(Spring Cloud 版本 1.0)。无论如何,这一切都会被重写,只需要在工作发生时旧版本在稳定的地方运行即可。


0
投票

环境变量:

  EUREKA_CLIENT_REGION=default
  EUREKA_CLIENT_AVAILABILITYZONES_DEFAULT=myzone
  EUREKA_CLIENT_SERVICEURL_MYZONE=http://eureka:8761/eureka

EUREKA_CLIENT_REGION 将区域设置为

default

EUREKA_CLIENT_AVAILABILITYZONES_DEFAULT 设置区域

myzone
为区域
default
(后缀 _DEFAULT)

EUREKA_CLIENT_SERVICEURL_MYZONE 设置区域的服务器 URL

myzone
(后缀 _MYZONE)

这些环境变量被读入 EurekaClientConfigBean 并在 EndpointUtils.getServiceUrlsFromConfig

中使用
© www.soinside.com 2019 - 2024. All rights reserved.