SpringBoot监控Tomcat活动线程数来判断是否完成请求处理

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.web.embedded.tomcat.TomcatWebServer;
import org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

@Component
public class TomcatMonitor {
    private Logger logger = LoggerFactory.getLogger(getClass());

    @Autowired
    ServletWebServerApplicationContext applicationContext;


    @Scheduled(cron = "*/1 * * * * ?")
    public void execute() {
        TomcatWebServer webServer = (TomcatWebServer) applicationContext.getWebServer();
        String tomcatInfo = webServer.getTomcat().getConnector().getProtocolHandler().getExecutor().toString();

        System.out.println("tomcatInfo: " + tomcatInfo);
    }

}

 

posted @ 2022-11-25 15:26  浅笑19  阅读(341)  评论(0编辑  收藏  举报