示例#1
0
        public void StopCacheInstance(string cache, CacheInfo cacheInfo, CacheServer.CacheStopReason reason)
        {
            ManagementCommand command = GetManagementCommand(ManagementUtil.MethodName.StopCacheInstance);

            command.Parameters.AddParameter(cache);
            command.Parameters.AddParameter(cacheInfo);
            command.Parameters.AddParameter(reason);
            ExecuteCommandOnCacehServer(command);
        }
示例#2
0
 private void StopCache(CacheServer.CacheStopReason cacheStopReason)
 {
     if (cacheInfo != null)
     {
         LeasedCache cache = cacheInfo.Cache;
         if (cache != null)
         {
             StopCacheInstance(cache.Name, cacheInfo, cacheStopReason);
         }
     }
 }
示例#3
0
        public override void StopCacheInstance(string cacheName, CacheInfo cacheInfo, CacheServer.CacheStopReason reason)
        {
            LeasedCache cache = cacheInfo.Cache;

            if (cache != null && cache.Name == cacheName)
            {
                if (cache.IsRunning)
                {
                    if (!cache.VerifyNodeShutDown())
                    {
                        throw new Runtime.Exceptions.ManagementException("Graceful shutdown is already in progress...");
                    }

                    if (reason.Equals(CacheStopReason.Expired))
                    {
                        cache.NCacheLog.CriticalInfo("NCache license has expired on this machine. Stopping cache...");
                    }

                    cache.Stop();
                    if (cacheInfo != null)
                    {
                        cacheInfo.SyncConfiguration();
                    }

                    if (InstrumentCache.OnCacheStopped != null)
                    {
                        InstrumentCache.OnCacheStopped(cache.Name);
                    }
                }
            }
            else
            {
                throw new Runtime.Exceptions.ManagementException(ErrorCodes.CacheInit.CACHE_ID_NOT_REGISTERED, ErrorMessages.GetErrorMessage(ErrorCodes.CacheInit.CACHE_ID_NOT_REGISTERED));
            }
        }
示例#4
0
        public override void StopCacheInstance(string cacheName, CacheInfo cacheInfo, CacheServer.CacheStopReason reason)
        {
            LeasedCache cache = cacheInfo.Cache;

            if (cache != null && cache.Name == cacheName)
            {
                if (cache.IsRunning)
                {
                    cache.Stop();
                    if (cacheInfo != null)
                    {
                        cacheInfo.SyncConfiguration();
                    }
                    InstrumentCache.OnCacheStopped(cache.Name);
                }
            }
            else
            {
                throw new Runtime.Exceptions.ManagementException("Specified cacheId is not registered");
            }
        }