如何使用Spring Boot和嵌入式Tomcat配置此属性? [英] How do I configure this property with Spring Boot and an embedded Tomcat?
问题描述
我是否在application.properties文件中配置了connectionTimeout之类的属性,还是在其他地方配置?我无法用谷歌来解决这个问题。
Do I configure properties like the connectionTimeout in the application.properties file or is the somewhere else to do it? I can't figure this out from Google.
我发现这个 Spring-Boot示例,但它不包含connectionTimeout属性,当我设置 server.tomcat.connectionTimeout = 60000
在我的application.properties文件中我收到错误。
I found this Spring-Boot example, but it does not include a connectionTimeout property and when I set server.tomcat.connectionTimeout=60000
in my application.properties file I get an error.
推荐答案
Spring Boot 1.4及更高版本
从Spring Boot 1.4开始,您可以使用属性 server.connection-timeout
。请参阅Spring Boot的常见应用程序属性。
Spring Boot 1.4 and later
As of Spring Boot 1.4 you can use the property server.connection-timeout
. See Spring Boot's common application properties.
提供自定义 EmbeddedServletContainerFactory
bean:
Provide a customized EmbeddedServletContainerFactory
bean:
@Bean
public EmbeddedServletContainerFactory servletContainerFactory() {
TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory();
factory.addConnectorCustomizers(connector ->
((AbstractProtocol) connector.getProtocolHandler()).setConnectionTimeout(10000));
// configure some more properties
return factory;
}
如果您不使用Java 8或不想使用 Lambda表达式,添加 TomcatConnectorCustomizer
像这样:
If you are not using Java 8 or don't want to use Lambda Expressions, add the TomcatConnectorCustomizer
like this:
factory.addConnectorCustomizers(new TomcatConnectorCustomizer() {
@Override
public void customize(Connector connector) {
((AbstractProtocol) connector.getProtocolHandler()).setConnectionTimeout(10000);
}
});
setConnectionTimeout()
方法需要超时以毫秒为单位(参见 connectionTimeout > Apache Tomcat 8配置参考。
The setConnectionTimeout()
method expects the timeout in milliseconds (see connectionTimeout
in Apache Tomcat 8 Configuration Reference).
这篇关于如何使用Spring Boot和嵌入式Tomcat配置此属性?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!