public void DoRequestTest()
        {
            ListenerConfigRequest listenerConfigRequest = new ListenerConfigRequest();

            listenerConfigRequest.DataId     = "LARAVEL";
            listenerConfigRequest.Group      = "DEFAULT_GROUP";
            listenerConfigRequest.Tenant     = "";
            listenerConfigRequest.ContentMD5 = "ddf41f9b16c588e0f6a185f4c82bf61d";

            var response = listenerConfigRequest.DoRequest();

            Assert.IsInstanceOfType(response, typeof(IRestResponse));
            Console.WriteLine(response.Content);
        }
示例#2
0
        public static void Listener(string env, string dataId, string group, string config, string tenant = "")
        {
            int loop = 0;

            do
            {
                loop++;

                ListenerConfigRequest listenerConfigRequest = new ListenerConfigRequest();
                listenerConfigRequest.DataId     = dataId;
                listenerConfigRequest.Group      = group;
                listenerConfigRequest.Tenant     = tenant;
                listenerConfigRequest.ContentMD5 = Md5Util.Md5(config);

                try
                {
                    var response = listenerConfigRequest.DoRequest();
                    if (!string.IsNullOrEmpty(response.Content))
                    {
                        // 配置发生了变化
                        config = Get(env, dataId, group, tenant);
                        LogUtil.Info("found changed config: " + config);

                        // 保存最新的配置
                        LocalConfigInfoProcessor.SaveSnapshot(env, dataId, group, tenant, config);
                    }
                }
                catch (Exception e)
                {
                    LogUtil.Error("listener请求异常, e: " + e.Message);
                    // 短暂休息会儿
                    Thread.Sleep(500);
                }
                LogUtil.Info("listener loop count: " + loop);
            } while (true);
        }