public static void AddCache(string cacheId, int cachePort, RtContextValue serverRuntimeContext) { LoadXml(); if (_configuration != null) { if (_configuration.CacheConfigurationsMap == null) { _configuration.CacheConfigurationsMap = new Dictionary <string, CacheConfiguration>(); } if (!_configuration.CacheConfigurationsMap.ContainsKey(cacheId.ToLower())) { CacheConfiguration cacheConfiguration = new CacheConfiguration(); cacheConfiguration.CacheId = cacheId; cacheConfiguration.ServerRuntimeContext = serverRuntimeContext; cacheConfiguration.AddLocalServer(); _configuration.CacheConfigurationsMap[cacheId.ToLower()] = cacheConfiguration; } } SaveConfiguration(); }
public static void AddCache(string cacheId, CacheServerConfig config) { LoadXml(); if (_configuration != null) { if (_configuration.CacheConfigurationsMap == null) { _configuration.CacheConfigurationsMap = new Dictionary <string, CacheConfiguration>(); } if (!_configuration.CacheConfigurationsMap.ContainsKey(cacheId.ToLower())) { CacheConfiguration cacheConfiguration = new CacheConfiguration(); cacheConfiguration.CacheId = cacheId; cacheConfiguration.BindIp = BindIP; // Internal static property set for local node. if (config.Cluster != null && config.Cluster.Nodes != null) { if (!String.IsNullOrEmpty(config.Cluster.Topology)) { cacheConfiguration.LoadBalance = config.Cluster.Topology.Equals("replicated-server"); } if (config.Cluster.Nodes.Count > 1) { // Extract server names from config string[] serverList = new string[config.Cluster.NodeIdentities.Count]; for (int i = 0; i < serverList.Length; i++) { serverList[i] = config.Cluster.NodeIdentities[i].NodeName; } // Sort priority list i.e. local node at top string[] copyServerList = new string[serverList.Length]; int nodeCount = 1; int bindIPPosition = Array.IndexOf(serverList, cacheConfiguration.BindIp); if (bindIPPosition == -1) { for (int serverListCount = 0; serverListCount < serverList.Length; serverListCount++) { cacheConfiguration.AddServer(serverList[serverListCount], serverListCount); } } else { copyServerList[0] = serverList[bindIPPosition]; cacheConfiguration.AddServer(copyServerList[0], 0); for (int serverListCount = 0; serverListCount < serverList.Length; serverListCount++) { if (serverListCount == bindIPPosition) { continue; } copyServerList[nodeCount] = serverList[serverListCount]; cacheConfiguration.AddServer(copyServerList[nodeCount], nodeCount); nodeCount++; } } } else { if (config.Cluster.Nodes.Count > 0) { cacheConfiguration.AddServer(config.Cluster.NodeIdentities[0].NodeName, 0); } } } else { cacheConfiguration.AddLocalServer(); } _configuration.CacheConfigurationsMap[cacheId.ToLower()] = cacheConfiguration; } } SaveConfiguration(); }
public static void AddCache(string cacheId, CacheServerConfig config) { LoadXml(); if (_configuration != null) { if (_configuration.CacheConfigurationsMap == null) { _configuration.CacheConfigurationsMap = new Dictionary <string, CacheConfiguration>(); } if (!_configuration.CacheConfigurationsMap.ContainsKey(cacheId.ToLower())) { CacheConfiguration cacheConfiguration = new CacheConfiguration(); cacheConfiguration.CacheId = cacheId; if (config.Cluster != null && config.Cluster.Nodes != null) { if (config.Cluster.Nodes.Count != 1) { // Extract server names from config string[] serverList = new string[config.Cluster.NodeIdentities.Count]; for (int i = 0; i < serverList.Length; i++) { serverList[i] = config.Cluster.NodeIdentities[i].NodeName; } // Sort priority list i.e. local node at top string[] copyServerList = new string[serverList.Length]; for (int i = 0; i < serverList.Length; i++) { if (serverList[i] == cacheConfiguration.BindIp) { copyServerList[0] = serverList[i]; cacheConfiguration.AddServer(cacheConfiguration.BindIp, 0); } else if (String.IsNullOrEmpty(copyServerList[0])) { copyServerList[i + 1] = serverList[i]; cacheConfiguration.AddServer(serverList[i], i + 1); } else { copyServerList[i] = serverList[i]; cacheConfiguration.AddServer(serverList[i], i); } } } else { cacheConfiguration.AddServer(config.Cluster.NodeIdentities[0].NodeName, 0); } } else { cacheConfiguration.AddLocalServer(); } _configuration.CacheConfigurationsMap[cacheId.ToLower()] = cacheConfiguration; } } SaveConfiguration(); }