首页 > 编程语言 > 详细

Dubbo中的线程池——自适应扩展点应用之一

时间:2021-06-22 09:28:20      阅读:35      评论:0      收藏:0      [点我收藏+]

  之前介绍了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中的线程池——自适应扩展点应用之一

原文:https://www.cnblogs.com/ilovebath/p/14869487.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!