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; } }
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); } }