/// <summary>
 ///
 /// </summary>
 /// <param name="configInfo"></param>
 public ActiveMqdlqMqListenerService(MqInstanceInfo configInfo)
 {
     _logger     = LoggerFactory.GetLog();
     ClientId    = ProcessLockHelper.GetProcessLockId() + "_MqId:" + configInfo.MqInstanceId;
     ServiceName = "Mq监听服务" + ClientId;
     _configInfo = configInfo;
     Started    += OnStarted;
     Stoping    += OnStoping;
 }
        private void AddService(MqInstanceInfo instanceInfo)
        {
            if (!IsRunning)
            {
                return;
            }
            var service = new MqListenerService(_listenerAppId, instanceInfo);

            if (_serviceList.TryAdd(instanceInfo.MqInstanceId, service))
            {
                service.QuqueDispatch += ServiceOnQuqueDispatch;
                service.TopicDispatch += ServiceOnTopicDispatch;
                service.Start();
                _excuteInfoDictionary.TryAdd(service.ClientId, new ExcuteInfo());
            }
            else
            {
                service.Dispose();
            }
        }
        /// <summary>
        /// 更新配置信息
        /// </summary>
        /// <param name="configInfo"></param>
        public void UpdateConfig(MqInstanceInfo configInfo)
        {
            bool isReflesh = _configInfo.Port != configInfo.Port ||
                             _configInfo.MqttPort != configInfo.MqttPort ||
                             !string.Equals(_configInfo.IpAddress, configInfo.IpAddress, StringComparison.OrdinalIgnoreCase) ||
                             !string.Equals(_configInfo.AccessPassword, configInfo.AccessPassword) ||
                             !string.Equals(_configInfo.AccessUsername, configInfo.AccessUsername);

            if (isReflesh)
            {
                _configInfo.IpAddress      = configInfo.IpAddress;
                _configInfo.Port           = configInfo.Port;
                _configInfo.AccessPassword = configInfo.AccessPassword;
                _configInfo.AccessUsername = configInfo.AccessUsername;
                _configInfo.MqttPort       = configInfo.MqttPort;
            }
            _configInfo.ExpiredTime = configInfo.ExpiredTime;
            _configInfo.DelFalg     = configInfo.DelFalg;

            if (isReflesh)
            {
                Restart();
            }
        }