internal static void Shutdown()
{
_instance.ConsoleWriteLine();
DistributedApplication.ClusterChannel.ShutDown();
if (Instance.StartSettings.BackupIndexAtTheEnd)
{
if (LuceneManagerIsRunning)
{
_instance.ConsoleWriteLine("Backing up the index...");
SenseNet.Search.Indexing.BackupTools.SynchronousBackupIndex();
_instance.ConsoleWriteLine("The backup of index is finished.");
}
else
{
_instance.ConsoleWriteLine("Backing up index is skipped because Lucene was not started.");
}
}
if (LuceneManagerIsRunning)
SenseNet.Search.Indexing.LuceneManager.ShutDown();
WaitForWriterLockFileIsReleased(WaitForLockFileType.OnEnd);
var t = DateTime.Now - _instance._startupInfo.Starting;
var msg = String.Format("Repository has stopped. Running time: {0}.{1:d2}:{2:d2}:{3:d2}", t.Days, t.Hours, t.Minutes, t.Seconds);
_instance.ConsoleWriteLine(msg);
_instance.ConsoleWriteLine();
Logger.WriteInformation(msg);
_instance = null;
}