动态线程池dynamic-tp接入Consul配置中心

前言

    自从笔者给dynamic-tp接入了Zookeeper配置中心,就想着再扩展其他的配置中心,恰好笔者近期也在调研Consul配置中心,所以就想着将Consul配置中心接入到dynamic-tp

dynamic-tp快速接入:

dynamic-tp官网:

接入Consul配置中心具体实现

    Consul配置中心是通过定时任务做的配置变更,为了屏蔽底层实现,这里我选择对SpringBoot程序和SpringCloud应用进行接入,使用的包是spring-cloud-starter-consul-config,对于SpringBoot程序来说,集成起来相当容易,因为spring-cloud-starter-consul-config刷新配置的原理是刷新Spring容器中的配置,并且Spring提供了原生的监听接口SmartApplicationListener,实现该接口并监听RefreshScopeRefreshedEvent事件,刷新完毕后Spring发布该事件,我们就可以通过新的配置刷新线程池配置了。

实现代码

    配置刷新完毕后DtpProperties已经是最新的配置了,直接去刷新dynamic-tp的配置即可。

   

@Slf4j
public class CloudConsulRefresher extends AbstractRefresher implements SmartApplicationListener {

    @Resource
    private DtpProperties dtpProperties;

    @Override
    public boolean supportsEventType(@NonNull Class<? extends ApplicationEvent> eventType) {
        return RefreshScopeRefreshedEvent.class.isAssignableFrom(eventType);
    }

    @Override
    public void onApplicationEvent(@NonNull ApplicationEvent event) {
        if (event instanceof RefreshScopeRefreshedEvent) {
            doRefresh(dtpProperties);
        }
    }
}

总结

    不得不说SpringCloud提供的配置中心客户端简直太简单了,同样的SpringCloud也为Zookeeper,Nacos提供了相应的config-starter,之前笔者提供了基于CuratorFramework的实现,为的是非SpringBoot的程序接入,针对SpringCloud笔者也对spring-cloud-starter-zookeeper-config进行了实现,实现与Consul完全一样。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Redick01

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值