获取dubbo线程池的方法
网上搜了一些dubbo线程池监控的资料, 没有一个好用的。
自己去翻源码, 分享一个拿到dubbo provider侧线程池的方法。
@Value("${dubbo.protocol.port:20880}")
private Integer port;
public ThreadPoolExecutor getDubboThreadPool(){
ExecutorRepository executorRepository = ExtensionLoader.getExtensionLoader(ExecutorRepository.class).getDefaultExtension();
URL url = new URL(null, null, port);
ExecutorService executor = executorRepository.getExecutor(url);
if(null == executor) return null;
return (ThreadPoolExecutor) executor;
}
核心都在getExecutor里, 有兴趣自己看看,没兴趣就直接用吧。
需要注意的是,应用启动的时候 这个方法可能返回 null。

浙公网安备 33010602011771号