Wie Konfiguriere ich diese Eigenschaft mit Spring-Boot und einem eingebetteten Tomcat?
Konfiguriere ich Eigenschaften wie das connectionTimeout in der Anwendung.Eigenschaften-Datei oder wird das irgendwo anders zu tun? Ich kann nicht herausfinden von Google.
Fand ich diese Spring-Boot-Beispiel, aber es schließt nicht ein connectionTimeout-Eigenschaft und wenn ich server.tomcat.connectionTimeout=60000
in meiner Anwendung.Eigenschaften-Datei bekomme ich eine Fehlermeldung.
Was ist der Fehler???
"org.springframework.Bohnen.factory.BeanCreationException: Fehler beim erstellen bean mit dem Namen 'tomcatEbeddedServletContainerFactory'... Bean-property "connectionTimeout" ist nicht beschreibbar oder hat eine ungültige Set-Methode"
"org.springframework.Bohnen.factory.BeanCreationException: Fehler beim erstellen bean mit dem Namen 'tomcatEbeddedServletContainerFactory'... Bean-property "connectionTimeout" ist nicht beschreibbar oder hat eine ungültige Set-Methode"
InformationsquelleAutor smuggledPancakes | 2015-07-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Spring-Boot-1.4 und später
Als der Spring-Boot-1.4 Sie können die Eigenschaft
server.connection-timeout
. Siehe Spring Boot ist die gemeinsame Anwendung Eigenschaften.Spring-Boot-1.3 und früher
Bieten eine maßgeschneiderte
EmbeddedServletContainerFactory
bean:Wenn Sie sich nicht mit Java 8 oder nicht verwenden möchten Lambda-Ausdrücke, fügen Sie die
TomcatConnectorCustomizer
wie diese:Den
setConnectionTimeout()
Methode erwartet den timeout in Millisekunden (sieheconnectionTimeout
im Apache Tomcat 8 Konfiguration Und Referenz).Dies ist der dokumentiert (und meines Wissens einzige) Möglichkeit zum anpassen der embedded Tomcat. Spring Boot erkennt Ihr bean und nicht versuchen, zu erstellen Ihre eigenen.
was ist der "Stecker ->" - Teil des Codes, den Sie gab?
Es ist ein Lambda-Ausdruck. Siehe meine aktualisierte Antwort.
Ich bin mir nicht ganz sicher, ob es funktioniert, aber Sie könnten versuchen, das gleiche zu tun, wie Spring Boot macht: kommentieren Sie die
@Configuration
Klasse, produziert derEmbeddedServletContainerFactory
bean mit@ConditionalOnClass({ Servlet.class, Tomcat.class })
. Siehe EmbeddedServletContainerAutoConfiguration.InformationsquelleAutor hzpz
Ich bevorzuge Reihe von system-Eigenschaften, bevor Sie den server starten:
Ist
200
zu hoch fürserver.tomcat.max-threads
? Sollte es sein, die unteren 2-stelligen Anzahl, wie50
oder sowas? Ich versuche zu verstehen, was ist eine gute Anzahl fürmax-threads
InformationsquelleAutor Juraj
After spring-boot-2.x und höher,
die Umsetzung der Methode des embeding tomcat geändert wurde.
siehe code unten.
InformationsquelleAutor 장재훈
Es ist eigentlich soll
server.connection-timeout
in Ihremapplication.properties
. Referenz, Ich schlage vor, Sie fügen Sie ein Lesezeichen hinzu.server.connection-timeout
- Eigenschaft, müssen Sie angeben, Einheiten oder wird es nicht dauern. Man kann also sagenserver.connection-timeout=5000ms
oderserver.connection-timeout=5s
, die beide geben Ihnen einen 5-Sekunden-timeout. Aber man kann nicht einfach sagen:server.connection-timeout=5000
Das wird nicht funktionieren.InformationsquelleAutor rorschach