[英]Can spring.messages.basename be an IP Address
spring.messages.basename
設置為 IP 地址,如:
spring:
messages:
basename: http://1.2.3.4:8888/messages.properties
那是 spring 雲配置服務器的 IP。 當應用程序啟動時,它會嘗試向該 url 發送請求,但所有點都被斜杠替換:
s.n.www.protocol.http.httpurlconnection : ProxySelector Request for http://1/2/3/4:8888/messages.properties
由於 IP 地址混亂,連接掛起,應用程序無法正常啟動。
調試源代碼,發現此方法org.springframework.boot.autoconfigure.context.MessageSourceAutoConfiguration.ResourceBundleCondition#getResources
負責損壞的 IP。
此外,應用配置中已經有一個 messageSource bean,例如:
@Bean(name = "messageSource")
public MessageSource messageSource(@Value("${spring.messages.basename:}") String basename) {
...
}
因此,當為格式錯誤的 URL 請求配置超時時,應用程序仍然可以成功啟動並加載正確的消息。
所以問題是:
MessageSourceAutoConfiguration
試圖發送對應該在類路徑中的資源的請求(該方法試圖從類路徑中獲取資源)?MessageSourceAutoConfiguration
是否應該加載消息資源?spring.messages.basename
設置為 IP 地址是否有效? spring-boot
版本:2.6.6 spring
版本:5.3.18
預先感謝您的幫助。
您不能為 spring.messages.basename 指定spring.messages.basename
。 請參閱此頁面,其中顯示:
spring.messages.basename
支持以逗號分隔的位置列表,可以是 package 限定符,也可以是從類路徑根解析的資源。
它是指向類路徑內文件的資源名稱,而不是 URL。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.