获取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。

 

posted @ 2021-01-12 23:19  WanderingAlbatross  阅读(744)  评论(0编辑  收藏  举报