Dubbo中的线程池——自适应扩展点应用之一
Posted 池塘里洗澡的鸭子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dubbo中的线程池——自适应扩展点应用之一相关的知识,希望对你有一定的参考价值。
之前介绍了dubbo中SPI扩展点之自适应,那么线程池就是自适应扩展点的应用体现。
dubbo中已实现的线程池扩展点有:
以fixed为ID的FixedThreadPool示例分析:
1、FixedThreadPool的UML图如下:
2、查看ThreadPool接口:
下面以FixedThreadPool为基础实现自定义的线程池扩展:
1、线程池实现, 这里主要是基于对 FixedThreadPool 中的实现做扩展出线程监控的部分:
2、SPI声明,创建文件 META-INF/dubbo/org.apache.dubbo.common.threadpool.ThreadPool
3、在服务提供方项目引入该依赖
4、在服务提供方项目中设置使用该线程池生成器
为什么这样写呢?前面查看ThreadPool接口的时候,通过@Adaptive注解已经明确key值为threadpool。
5、主执行程序多次发起请求,查看该线程池是否在服务端生效:
消费端未执行前:
消费端执行后:
上述主程序中没有任何与WatchingThreadPool类直接或间接的调用,那么这个扩展点是如何被调用的呢?后续主题文章介绍。
以上是关于Dubbo中的线程池——自适应扩展点应用之一的主要内容,如果未能解决你的问题,请参考以下文章