gpt4 book ai didi

java - 计算 Spring MVC 容器中 Activity HTTP 请求的数量

转载 作者:行者123 更新时间:2023-12-02 03:42:09 24 4
gpt4 key购买 nike

在滚动升级场景中,我想知道给定 Spring MVC 容器(由 Spring Boot 启动,在 Jetty 上运行)中何时没有 Activity 的 HTTP 请求。

这将允许以下流程:

  1. 在反向代理中禁用服务器
  2. 等待所有请求完成
  3. 执行升级

有没有办法知道 Spring MVC 或 Jetty 当前正在处理多少个请求?

最佳答案

您可以使用 Jetty 的 StatisticsHandler 和 JMX 获取有关 Activity 请求数量的信息。

如果您使用 Jetty 作为嵌入式容器(推荐方法),则可以使用 EmbeddedServletContainerCustomizer 进行设置:

@Bean
public EmbeddedServletContainerCustomizer containerCustomizer() {
return new EmbeddedServletContainerCustomizer() {

@Override
public void customize(ConfigurableEmbeddedServletContainer container) {
((JettyEmbeddedServletContainerFactory) container)
.addServerCustomizers(new JettyServerCustomizer() {

@Override
public void customize(Server server) {
MBeanContainer mbContainer = new MBeanContainer(
ManagementFactory.getPlatformMBeanServer());
server.addEventListener(mbContainer);
server.addBean(mbContainer);

StatisticsHandler statisticsHandler = new StatisticsHandler();
statisticsHandler.setHandler(server.getHandler());
server.setHandler(statisticsHandler);
}
});
}

};
}

您需要添加对 org.eclipse.jetty:jetty-jmx 的依赖项才能访问 MBeanContainer

关于java - 计算 Spring MVC 容器中 Activity HTTP 请求的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36720880/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com