解决HTTPClient长连接 60s会自动断开问题,springboot restful接口

时间:2025-03-22 16:25:19

配置一下springboot内置tomcat的 KeepAliveTimeout属性即可

package ;

import ;
import .http11.Http11NioProtocol;
import ;
import ;
import ;
import ;
import ;

//当Spring容器中没有TomcatEmbeddedServletContainerFactory这个bean时,会把此bean加载进容器
@Component
public class WebServerConfiguration implements WebServerFactoryCustomizer<ConfigurableWebServerFactory> {
    @Override
    public void customize(ConfigurableWebServerFactory factory) {
        //使用工厂类定制tomcat connector
        ((TomcatServletWebServerFactory)factory).addConnectorCustomizers(new TomcatConnectorCustomizer() {
            @Override
            public void customize(Connector connector) {
                Http11NioProtocol protocol= (Http11NioProtocol) ();
                //设置15秒无响应则断开keepalive
                (15000);
                //设置最大n次请求后则断开keepalive, -1表示无穷
                (-1);
            }
        });
    }
}