Пример #1
0
        private async Task UnregisterBrokerToAllNameServers()
        {
            var request = new BrokerUnRegistrationRequest
            {
                BrokerInfo = Setting.BrokerInfo
            };

            foreach (var remotingClient in _nameServerRemotingClientList)
            {
                await UnregisterBrokerToNameServer(request, remotingClient);
            }
        }
Пример #2
0
 public void UnregisterBroker(BrokerUnRegistrationRequest request)
 {
     using (_asyncLock.Lock())
     {
         var brokerInfo = request.BrokerInfo;
         var cluster    = _clusterDict.GetOrAdd(brokerInfo.ClusterName, x => new Cluster {
             ClusterName = x
         });
         var brokerGroup = cluster.BrokerGroups.GetOrAdd(brokerInfo.GroupName, x => new BrokerGroup {
             GroupName = x
         });
         if (brokerGroup.Brokers.TryRemove(brokerInfo.BrokerName, out Broker removed))
         {
             _logger.InfoFormat("Unregistered broker, brokerInfo: {0}", _jsonSerializer.Serialize(removed.BrokerInfo));
         }
     }
 }
Пример #3
0
        private void UnregisterBrokerToNameServer(BrokerUnRegistrationRequest request, SocketRemotingClient remotingClient)
        {
            var nameServerAddress = remotingClient.ServerEndPoint.ToAddress();

            try
            {
                var data             = _binarySerializer.Serialize(request);
                var remotingRequest  = new RemotingRequest((int)NameServerRequestCode.UnregisterBroker, data);
                var remotingResponse = remotingClient.InvokeSync(remotingRequest, 5 * 1000);
                if (remotingResponse.Code != ResponseCode.Success)
                {
                    _logger.Error(string.Format("Unregister broker from name server failed, brokerInfo: {0}, nameServerAddress: {1}, remoting response code: {2}, errorMessage: {3}", request.BrokerInfo, nameServerAddress, remotingResponse.Code, Encoding.UTF8.GetString(remotingResponse.Body)));
                }
            }
            catch (Exception ex)
            {
                _logger.Error(string.Format("Unregister broker from name server has exception, brokerInfo: {0}, nameServerAddress: {1}", request.BrokerInfo, nameServerAddress), ex);
            }
        }