我有一個基於spring-boot的應用程序被部署到jar。它有行家多模塊項目的形式,包含以下幾個部分:春天尤里卡客戶端沒有看到配置文件中的服務器端口
- 網絡
- 服務
- 庫
- 模型
我的網絡模塊需要的所有其他自身建設和在其資源目錄中包含以下文件:
- bootstrap.yml
的bootstrap.yml包含以下配置:
eureka:
client:
eureka-server-port: 8761
server:
port: 8763
context-path: /foo-service/rest
spring:
application:
name: foo-service
所以我期待的是喚醒過程中會使用端口8761和寄存器本身尤里卡服務。由於某種原因,當我在調試:
org.springframework.cloud.netflix.eureka.EurekaClientAutoConfiguration#eurekaInstanceConfigBean
EurekaInstanceConfigBean的實例包含以下值:
- 實例Id = 172.20.39.197:foo-service:8763
- nonSecurePort = 8080
有什麼奇怪的是nonSecurePort設置在8080而不是8763上。在我的其他服務(其正常工作)中,nonSecurePort與instanceId的最後部分具有相同的值。只有在富服務中,價值纔是不同的。
的,其原因在於:
@Value("${server.port:${SERVER_PORT:${PORT:8080}}}")
int nonSecurePort;
找不到配置,返回默認值。但爲什麼? 我已經檢查由行家創建的foo.jar中和bootstrap.yml有在正確的位置(BOOT-INF /班/ bootstrap.yml)用正確的值...
不要任何人有任何想法可能是什麼錯誤?
您能否提供一個能夠重現問題的示例? –
我試圖創建,但所有簡單的樣本適合我。只有這樣,單一和複雜的應用程序才能工作。當我設法獲得更多信息立即分享到這裏。但是謝謝你! –