cat 如何Runtime关闭CAT

dvtswwa3  于 2021-11-29  发布在  Java
关注(0)|答案(4)|浏览(408)

本地Runtime调用Cat.disable()后,发现过段时间Cat会调用refreshInnerConfig(),通过routerConfig获取block为false,自动调用Cat.enable(),请问如何Runtime关闭CAT?

Cat-Client版本为java的3.0.0,代码片段如下

private void refreshInnerConfig(PropertyConfig routerConfig) {

        Property sample = routerConfig.findProperty("sample");
        if (null != sample) {
            samplingRate = Double.parseDouble(sample.getValue());
            if (samplingRate <= 0) {
                samplingRate = 0;
            }
        }

        Property blocks = routerConfig.findProperty("block");
        if (null != blocks) {
            block = Boolean.parseBoolean(blocks.getValue());
            if (block) {
                Cat.disable();
            } else {
// 此处又会开启
                Cat.enable();
            }
        }
......
}
ql3eal8s

ql3eal8s1#

你好,你项目里面,谁在调用这个refreshConfig?

com.dianping.cat.configuration.ClientConfigService#refreshConfig(PropertyConfig config);
bvhaajcl

bvhaajcl2#

没有用到的,cat client启动以后,cat server会调用这个方法。
在server端可以关闭的吗?没有找到如何设置

f45qwnt8

f45qwnt83#

  1. cat-server自己依赖cat-client,收集自身信息。
  2. 自己的项目依赖cat-client,没找到哪里会调用refreshConfig。
nqwrtyyt

nqwrtyyt4#

StatusUpdateTask线程会定时调用refreshClientConfig,StatusUpdateTask线程这个初始化会启动

相关问题