我在 Spring Boot 應用程式中有這個屬性:
server:
connection-timeout: 12000
我收到警告:
Deprecated Each server behaves differently. Use server specific properties instead.
Gradle: org.springframework.boot:spring-boot-autoconfigure:2.6.8 (spring-boot-autoconfigure-2.6.8.jar)
我可以使用一些更好的配置屬性嗎?
uj5u.com熱心網友回復:
我什至不知道您為什么會收到已棄用的警告。
根據 Spring Boot 2.3 及更高版本的檔案,此屬性已被洗掉,不再被棄用。
正如您可以在此處閱讀的,您可以使用其他一些屬性來代替,具體取決于運行您的 Spring Boot 應用程式的服務器。
server.tomcat.connection-timeout如果你有 tomcat 作為運行服務器,應該使用它。
server.netty.connection-timeout如果使用netty,應該使用。
server.jetty.connection-idle-timeout如果使用了碼頭,應該使用
基本上每個服務器都有自己的實作,因此您必須閱讀服務器的檔案以了解它允許什么以及它的行為方式。一臺服務器的行為方式以及它如何解釋連接超時以及另一臺服務器的行為方式和解釋類似配置的方式可能略有不同。
這是我認為 Spring 決定在屬性connection-timeout而不是通用屬性上遷移到服務器特定配置的原因,也是一個非常重要的原因是某些服務器甚至可能沒有此配置可供它們使用。因此,您在 Spring Boot 應用程式中配置了一個通用屬性,運行該應用程式的服務器甚至無法尊重該屬性。
因此,您現在擁有特定服務器的特定屬性,現在您可以預先確定此配置在您的服務器中是否可用,您還可以閱讀服務器檔案以準確了解行為將是什么。
uj5u.com熱心網友回復:
盡管此設定已被棄用,但我們仍然可以使用超時功能。
根據官方檔案,我們可以@Transactional(timeout = 1)在控制器中使用做track
https://www.baeldung.com/spring-rest-timeout
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/497052.html
上一篇:哪個Eclipse版本與Tomcat10兼容,還是回到Tomcat9?
下一篇:Axis2-在此位置找不到服務
