public FixServer() { _status = ServicoStatus.Indefinido; _fixAcceptor = null; //_fixDropCopy = null; _lstfixInitiator = new List <FixInitiator>(); //_lstfixDropCopy = new List<FixDropCopy>(); _tasks = GeneralTasks.GetInstance(); _cron = new Gradual.Core.OMS.FixServerLowLatency.Util.CronStyleScheduler(); }
public void PararServico() { try { logger.Info("*** Parando FixServer"); if (_fixAcceptor != null) { logger.Info("Parando Fix SocketAcceptor"); _fixAcceptor.Stop(); _fixAcceptor = null; } if (_fixDropCopy != null) { logger.Info("Parando Fix SocketAcceptor - Drop Copy"); _fixDropCopy.Stop(); _fixDropCopy = null; } if (_lstfixInitiator != null) { int length = _lstfixInitiator.Count; for (int i = 0; i < length; i++) { logger.Info("Parando Fix SocketInitiator"); _lstfixInitiator[i].Stop(); _lstfixInitiator[i] = null; } _lstfixInitiator.Clear(); _lstfixInitiator = null; } _tasks = null; DbFix dbFix = new DbFix(); logger.Info("Atualizando 'server names' das sessoes fix"); foreach (FixSessionItem item in _lstCfg) { dbFix.AtualizarServerName(item.IdSessaoFix, null); } _lstCfg.Clear(); _lstCfg = null; dbFix = null; //logger.Info("Parando Gerenciador de Limites"); //LimiteManager.GetInstance().Stop(); //logger.Info("Parando Cron Tab Scheduler"); if (null != _cron) { _cron.Stop(); _cron = null; } _status = ServicoStatus.Parado; logger.Info("*** FixServer finalizado"); // Forcar queda do executavel } catch (Exception ex) { logger.Error("*** Erro na parada do servico: " + ex.Message, ex); } }