Beispiel #1
0
 public virtual void Close()
 {
     if (NeoDatis.Odb.OdbConfiguration.IsInfoEnabled(LogId))
     {
         NeoDatis.Tool.DLogger.Info("ODBServer:Shutting down ODB Server");
     }
     try
     {
         isRunning = false;
         socketServer.Close();
         System.Collections.IEnumerator iterator = bases.Keys.GetEnumerator();
         string baseIdentifier = null;
         NeoDatis.Odb.Core.Layers.Layer3.IStorageEngine engine = null;
         while (iterator.MoveNext())
         {
             baseIdentifier = (string)iterator.Current;
             engine         = (NeoDatis.Odb.Core.Layers.Layer3.IStorageEngine)bases[baseIdentifier];
             if (NeoDatis.Odb.OdbConfiguration.IsInfoEnabled(LogId))
             {
                 NeoDatis.Tool.DLogger.Info("ODBServer:Closing Base " + baseIdentifier);
             }
             engine.Close();
         }
         if (thread != null)
         {
             thread.Interrupt();
         }
     }
     catch (System.Exception e)
     {
         throw new NeoDatis.Odb.ODBRuntimeException(NeoDatis.Odb.Core.Error.ServerError.AddParameter
                                                        ("While closing server"), e);
     }
 }