SpringBoot內嵌Tomcat的坑

2021-10-08 00:28:05 字數 703 閱讀 5738

眾所周知,springcloud整合的feign通過使用apachehttpclient,是可以支援長連線的。

但是我們測試卻發現,長連線會被頻繁的關閉。

調查發現,關閉連線是tomcat主動發起的,也就是說,apachehttpclient發起了長連線,但是tomcat卻把它關閉了。

tomcat關閉長連線的條件有2個:

至少在springcloud h版,官方並沒有提供引數來修改這兩個值,所以只能自己想辦法。幸好springcloud提供了webserve***ctorycustomizer介面。

public

class

mywebcustomizer

implements

webserve***ctorycustomizer

")private integer keepalivetimeout;

//空閒等待時間

@value

("$"

)private integer maxkeepaliverequests;

//最大處理請求數

@override

public

void

customize

(configurabletomcatwebserve***ctory factory)}}

}

當然上述類需要以bean的形式注入。

spring boot 內嵌Tomcat 配置

tomcat為spring boot的預設容器,下面是幾個常用配置 tomcat最大執行緒數,預設為200 server.tomcat.max threads 800 tomcat的uri編碼 server.tomcat.uri encoding utf 8 server.tomcat.basedi...

SpringBoot內嵌tomcat日誌配置

springboot的應用程式日誌配置已經用了一段時間了,在resources下配置logback.xml檔案即可。今天要講的是tomcat的日誌如何配置。如果springboot是執行在tomcat容器中的,那麼tomcat會預設生成localhost access log日誌,如果是在sprin...

springboot 內嵌redis的使用

新增包引用build.gradle testcompile com.github.kstyrc embedded redis 0.6 新增配置注入 import org.springframework.beans.factory.annotation.autowired import org.spr...