Exemple #1
0
        public override ClientNodeStatusWrapper GetClientNodeStatus(string cacheId)
        {
            string clientCacheId = string.Empty;

            ClientNodeStatus status = ClientConfigManager.GetClientNodeStatus(cacheId.ToLower(), out clientCacheId);

            if (status == ClientNodeStatus.ClientCacheUnavailable)
            {
                StatusInfo statusInfo = GetCacheStatus(clientCacheId.ToLower(), null);
                if (statusInfo.IsRunning)
                {
                    status = ClientNodeStatus.ClientCacheDisabled;
                }
            }
            else if (status == ClientNodeStatus.ClientCacheDisabled)
            {
                StatusInfo statusInfo = GetCacheStatus(clientCacheId.ToLower(), null);

                if (statusInfo.IsRunning)
                {
                    status = ClientNodeStatus.ClientCacheEnabled;
                }
                else if (statusInfo.IsUnavailable)
                {
                    status = ClientNodeStatus.ClientCacheUnavailable;
                }
            }
            return(new ClientNodeStatusWrapper(status));
        }
Exemple #2
0
        public override ClientNodeStatusWrapper GetClientNodeStatus(string cacheId)
        {
            string clientCacheId = string.Empty;

            ClientNodeStatus status = ClientConfigManager.GetClientNodeStatus(cacheId.ToLower(), out clientCacheId);

            return(new ClientNodeStatusWrapper(status));
        }
Exemple #3
0
        private static void Initialize(ClientConfigManager configManager)
        {
            if (_instance.Initialized)
            {
                return;
            }
            Logger.Info($"Initializing Cat .Net Client ...Cat.Version : {PureCatClient.Version}");
            DefaultMessageManager manager = new DefaultMessageManager();

            manager.InitializeClient(configManager.ClientConfig);
            _instance.MessageManager  = manager;
            _instance.MessageProducer = new DefaultMessageProducer(manager);
            _instance.Initialized     = true;
            Logger.Info("Cat .Net Client initialized.");
        }
Exemple #4
0
        /// <summary>
        /// Cat初始化
        /// 1 加载客户端配置
        /// 2 拿到客户端的server列表
        /// 3 初始化客户端的server对象,返回ClientConfig对象
        /// 4 从将客户端的server地址进行http的发送,并返回服务端的路由列表,并覆盖ClientConfig的server属性
        /// 5 最后就是随机取一个可用的服务器
        /// </summary>
        public static void Initialize()
        {
            if (_instance == null)
            {
                throw new Exception("_instance属性为null");
            }

            if (_instance.Initialized)
            {
                return;
            }

            var configManager = new ClientConfigManager();
            DefaultMessageManager manager;

            manager = new DefaultMessageManager();
            manager.InitializeClient(configManager.ClientConfig);
            _instance.MessageManager  = manager;
            _instance.MessageProducer = new DefaultMessageProducer(manager);
            _instance.Initialized     = true;
            Logger.Info("Cat .Net Client initialized.");
        }
Exemple #5
0
        void loadConfig(bool forDeploy = false)
        {
            log("Loading client configuration");

            clientConfigManager = new ClientConfigManager();

            rootPath = workingDirectory;
            binPath  = rootPath + "bin\\" + branch + "\\";

            if (!System.IO.Directory.Exists(rootPath + "bin\\"))
            {
                System.IO.Directory.CreateDirectory(rootPath + "bin\\");
            }

            if (!System.IO.Directory.Exists(rootPath + "bin\\" + branch + "\\"))
            {
                System.IO.Directory.CreateDirectory(rootPath + "bin\\" + branch + "\\");
            }

            string buildconf = "build";

            if (rootPath.Contains("buildagent2"))
            {
                buildconf = "build2";
            }

            clientConfigManager.load(rootPath + "config\\" + (forDeploy ? branch : buildconf) + "_" + "usp" + ".axc"); //  rootPath + "config\\" + clientConfig);

            log("Client configuration loaded");

            log("Loading server configuration");

            serverConfigManager = new ServerConfigManager();

            serverConfigManager.load(clientConfigManager.ServerName, clientConfigManager.PortNumber);

            log("Server configuration loaded");

            mgr = new AOSManager()
            {
                ServerName     = clientConfigManager.ServerName,
                ServiceId      = serverConfigManager.ServerServiceIdentifier,
                TimeOutMinutes = 10
            };

            if (forDeploy)
            {
                mgr.TimeOutMinutes = 30;
            }

            client = new ClientManager();

            client.AXClientBinPath     = clientConfigManager.ClientBinPath;
            client.AXServerBinPath     = serverConfigManager.ServerBinPath;
            client.AXConfigurationFile = rootPath + "config\\" + (forDeploy ? branch : buildconf) + "_" + "usp" + ".axc"; // rootPath + "config\\" + clientConfig;
            client.ModelManifest       = rootPath + branch + "\\" + modelName + "\\Model.xml";
            client.TimeOutMinutes      = 60;

            model = new ModelManager()
            {
                AOSName    = serverConfigManager.AOSName,
                SchemaName = "temp"
            };

            sqlManager = new SQLManager();

            sqlManager.DatabaseName = serverConfigManager.DatabaseName;
            sqlManager.Server       = serverConfigManager.DatabaseServer;

            labelManager = new LabelManager();
        }