示例#1
0
        private static void SendRequestToNewLogCenter(List <LogMessage> logMessages)
        {
            m_initThriftServerEvent.Reset();
            if (logMessages == null || logMessages.Count == 0)
            {
                return;
            }
            var logMessageList = new List <JinRi.Notify.Frame.Thrift.LogMessage>();

            try
            {
                logMessages.ForEach(m =>
                {
                    logMessageList.Add(m.Mapping());
                });
                m_client = GetThriftClient();
                m_client.submit(logMessageList);
                m_initThriftServerEvent.Set();
            }
            catch (Exception ex)
            {
                m_initThriftServerEvent.Set();
                if (m_transportList != null)
                {
                    m_transportList.Clear();
                }
                throw ex;
            }
        }
示例#2
0
 private static LogService.Client GetThriftClient()
 {
     lock (m_lockObj)
     {
         if (m_transportList == null || m_transportList.Count == 0)
         {
             InitThriftServer();
         }
         m_pollingIndex = m_pollingIndex > (m_pollingSize - 1) ? 0 : m_pollingIndex;
         TTransport transport = m_transportList[m_pollingIndex];
         if (!transport.IsOpen)
         {
             transport.Open();
         }
         TCompactProtocol  protocol = new TCompactProtocol(transport);
         LogService.Client client   = new LogService.Client(protocol);
         m_pollingIndex++;
         return(client);
     }
 }