如何使用Spring Boot和嵌入式Tomcat配置此属性? [英] How do I configure this property with Spring Boot and an embedded Tomcat?

查看:120
本文介绍了如何使用Spring Boot和嵌入式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.

Tomcat属性列表

我发现这个 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆