public override void Initialize(IDictionary cacheClasses, IDictionary properties, bool twoPhaseInitialization) { if (properties == null) throw new ArgumentNullException("properties"); try { base.Initialize(cacheClasses, properties); IDictionary frontCacheProps = ConfigHelper.GetCacheScheme(cacheClasses, properties, "internal-cache"); string cacheType = Convert.ToString(frontCacheProps["type"]).ToLower(); if (cacheType.CompareTo("local-cache") == 0) { _internalCache = CacheBase.Synchronized(new IndexedLocalCache(cacheClasses, this, frontCacheProps, this, _context)); } else { throw new ConfigurationException("invalid or non-local class specified in partitioned cache"); } _stats.Nodes = ArrayList.Synchronized(new ArrayList()); _callBalancer = new CallBalancer(); InitializeCluster(properties, Name, MCAST_DOMAIN, new Identity(true, (_context.Render != null ? _context.Render.Port : 0), (_context.Render != null ? _context.Render.IPAddress : null)), twoPhaseInitialization, false); _stats.GroupName = Cluster.ClusterName; _clientsMgr = new ClientsManager(Cluster); HasStarted(); } catch (ConfigurationException) { Dispose(); throw; } catch (Exception e) { Dispose(); throw new ConfigurationException("Configuration Error: " + e.Message, e); } }
/// <summary> /// Method that allows the object to initialize itself. Passes the property map down /// the object hierarchy so that other objects may configure themselves as well.. /// </summary> /// <param name="cacheSchemes">collection of cache schemes (config properties).</param> /// <param name="properties">properties collection for this cache.</param> protected override void Initialize(IDictionary cacheClasses, IDictionary properties) { if (properties == null) throw new ArgumentNullException("properties"); try { base.Initialize(cacheClasses, properties); _internalCache = CacheBase.Synchronized(new LocalCache(cacheClasses, this, cacheClasses, this, _context)); _stats.Nodes = ArrayList.Synchronized(new ArrayList()); _callBalancer = new CallBalancer(); InitializeCluster(properties, Name, MCAST_DOMAIN, new Identity(true, (_context.Render != null ? _context.Render.Port : 0), (_context.Render != null ? _context.Render.IPAddress : null))); _stats.GroupName = Cluster.ClusterName; HasStarted(); } catch (ConfigurationException) { Dispose(); throw; } catch (Exception e) { Dispose(); throw new ConfigurationException("Configuration Error: " + e.Message, e); } }