尝试在 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>
这个没有被拾取。
我尝试了一些变量名称:
eureka.instance.主机名
EUREKA_CLIENT_SERVICEURL_DEFAULTZONE
eureka.client.serviceUrl.defaultZone
我还尝试在manifest.yml中以相同的方式设置SPRING_APPLICATION_JSON来包含这些组合。
他们似乎都没有被接走。
有其他方法可以做到这一点吗?再说一次,我无权访问代码,只能访问 Jar。
所以它不太漂亮,但我可以使用 VIM 修改 Jars 中的 application.properties 文件以包含此设置:
eureka.client.serviceUrl.defaultZone=<pws route>/eureka/
刚刚使 Jar 可写,添加该设置,保存,然后 cf 将其推送。作品。不知道为什么 ENV 不起作用,但它不值得修复。这个 Jar 中的所有内容都是古老的(Spring Cloud 版本 1.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
中使用