通过 CF 中的环境变量配置 Spring Eureka 客户端



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

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

由于我没有客户端应用程序的代码(无法修改应用程序属性/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.hostname

  • EUREKA_CLIENT_SERVICEURL_DEFAULTZONE

  • eureka.client.serviceUrl.defaultZone

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

他们似乎都没有被捡到。

有没有其他方法可以做到这一点?同样,我无法访问代码,只能访问 Jar。

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


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

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

最新更新