【问题标题】:Custom Thread Pooling / Multithreading in Spring Boot RestSpring Boot Rest 中的自定义线程池/多线程
【发布时间】:2017-07-22 13:24:08
【问题描述】:
当 A 调用 B 时,如何监控 B 处理的线程数
如何监控来自 B -> C 的请求数。
我的目标是确保 B 能够处理所有并发线程请求(比如 100 个),并且 B 在调用 C 时保持相同数量的并发线程(100 个)。
【问题讨论】:
标签:
java
spring
multithreading
spring-boot
spring-integration
【解决方案1】:
我假设 C 是 Spring REST API。我可以回答第二部分。
可以在 C 的 servlet.xml 中配置自定义拦截器
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/URI" />
<bean class="xxx.ABCInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>
public class ABCInterceptor extends HandlerInterceptorAdapter {
@Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
......
}
@Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) {
......
}
}
在 postHandle 方法中,你可以根据标识符将计数写入文件或数据库,这表明它来自 B。