Ejemplo n.º 1
0
        private bool TryRecoverConnectionDelegate()
        {
            try
            {
                var fh = endpoints.SelectOne(m_factory.CreateFrameHandler);
                m_delegate = new Connection(m_factory, false, fh, this.ClientProvidedName);
                return(true);
            }
            catch (Exception e)
            {
                ESLog.Error("Connection recovery exception.", e);
                // Trigger recovery error events
                var handler = m_connectionRecoveryError;
                if (handler != null)
                {
                    var args = new ConnectionRecoveryErrorEventArgs(e);
                    foreach (EventHandler <ConnectionRecoveryErrorEventArgs> h in handler.GetInvocationList())
                    {
                        try
                        {
                            h(this, args);
                        }
                        catch (Exception ex)
                        {
                            var a = new CallbackExceptionEventArgs(ex);
                            a.Detail["context"] = "OnConnectionRecoveryError";
                            m_delegate.OnCallbackException(a);
                        }
                    }
                }
            }

            return(false);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// 断线重连出现错误时
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void Connection_ConnectionRecoveryError(object sender, ConnectionRecoveryErrorEventArgs e)
 {
     logger.Error(e.Exception);
     this.timerRetry.Enabled = true;
     this.timerRetry.Start();
     logger.Info($"connection[{this.ConnName}] to AMQP rabbitMQ RecoveryError retry[{this.connCount}] and start timerRetry");
 }
Ejemplo n.º 3
0
        /// <summary>
        /// 连接恢复失败
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="connectionRecoveryErrorEventArgs"></param>
        private static void ConnectionOnConnectionRecoveryError(object sender, ConnectionRecoveryErrorEventArgs connectionRecoveryErrorEventArgs)
        {
            //lock (SLocker)
            //{
            //    _isAlive = false;
            //}

            NLogHelper.Warn($"OnConnectionRecoveryError:{connectionRecoveryErrorEventArgs?.Exception}");
        }
Ejemplo n.º 4
0
        void HandleConnectionRecoveryError(object sender, ConnectionRecoveryErrorEventArgs @event)
        {
            if (@event is null)
            {
                return;
            }

            _logger.LogError(new EventId(), @event.Exception, @event.Exception.Message, @event);
            throw @event.Exception;
        }
Ejemplo n.º 5
0
        private void ConnectionRecoveryErrorHandler(object sender, ConnectionRecoveryErrorEventArgs eventArgs)
        {
            if (eventArgs is null)
            {
                return;
            }

            //logger.LogError(new EventId(), eventArgs.Exception, eventArgs.Exception.Message, eventArgs);

            throw eventArgs.Exception;
        }
        protected bool RecoverConnectionDelegate()
        {
            while (!ManuallyClosed)
            {
                try
                {
                    var fh = endpoints.SelectOne(m_factory.CreateFrameHandler);
                    m_delegate = new Connection(m_factory, false, fh, this.ClientProvidedName);
                    return(true);
                }
                catch (Exception e)
                {
                    ESLog.Error("Connection recovery exception.", e);
                    // Trigger recovery error events
                    var handler = m_connectionRecoveryError;
                    if (handler != null)
                    {
                        var args = new ConnectionRecoveryErrorEventArgs(e);
                        foreach (EventHandler <ConnectionRecoveryErrorEventArgs> h in handler.GetInvocationList())
                        {
                            try
                            {
                                h(this, args);
                            }
                            catch (Exception ex)
                            {
                                var a = new CallbackExceptionEventArgs(ex);
                                a.Detail["context"] = "OnConnectionRecoveryError";
                                m_delegate.OnCallbackException(a);
                            }
                        }
                    }

#if NETFX_CORE
                    System.Threading.Tasks.Task.Delay(m_factory.NetworkRecoveryInterval).Wait();
#else
                    Thread.Sleep(m_factory.NetworkRecoveryInterval);
#endif
                }
            }

            return(false);
        }
        protected async Task <bool> RecoverConnectionDelegate()
        {
            while (!ManuallyClosed)
            {
                try
                {
                    var fh = await endpoints.SelectOne(m_factory.CreateFrameHandler);

                    m_delegate = new Connection(m_factory, false, fh, this.ClientProvidedName);
                    await m_delegate.Open();

                    return(true);
                }
                catch (Exception e)
                {
                    ESLog.Error("Connection recovery exception.", e);
                    // Trigger recovery error events
                    var handler = m_connectionRecoveryError;
                    if (handler != null)
                    {
                        var args = new ConnectionRecoveryErrorEventArgs(e);
                        foreach (AsyncEventHandler <ConnectionRecoveryErrorEventArgs> h in handler.GetInvocationList())
                        {
                            try
                            {
                                await h(this, args);
                            }
                            catch (Exception ex)
                            {
                                var a = new CallbackExceptionEventArgs(ex);
                                a.Detail["context"] = "OnConnectionRecoveryError";
                                await m_delegate.OnCallbackException(a);
                            }
                        }
                    }

                    await Task.Delay(m_factory.NetworkRecoveryInterval);
                }
            }

            return(false);
        }
Ejemplo n.º 8
0
        private void OnConnectionRecoveryError(object sender, ConnectionRecoveryErrorEventArgs e)
        {
            var cause = e == null || e.Exception == null ? string.Empty : $" Exception: {e.Exception.Message}";

            _log.LogError($"The connection recovery error.{cause}");
        }
Ejemplo n.º 9
0
 private void Connection_ConnectionRecoveryError(object sender, ConnectionRecoveryErrorEventArgs e)
 {
     _logger.LogCritical(e.Exception, $"RabbitMQ Connection Recovery Error, Exception:{e.Exception.Message}");
 }
Ejemplo n.º 10
0
 protected void RaiseConnectionRecoveryError(object sender, ConnectionRecoveryErrorEventArgs connectionRecoveryErrorEventArgs)
 {
     ConnectionRecoveryError?.Invoke(sender, connectionRecoveryErrorEventArgs);
 }
Ejemplo n.º 11
0
 public void HandleConnectionRecoveryError(object sender, ConnectionRecoveryErrorEventArgs error)
 {
     _logger?.LogDebug(error.Exception, "Connection recovery failed");
 }
Ejemplo n.º 12
0
 private static void RabbitMQConnect_ReconnectFailed(object sender, ConnectionRecoveryErrorEventArgs e)
 {
     Log.Error("Reconnect to RabbitMQ failed: {0}", e.Exception.Message.ToString());
 }
Ejemplo n.º 13
0
 private void ConnectionOnConnectionRecoveryError(object sender, ConnectionRecoveryErrorEventArgs e)
 {
     Logger.LogError(e.Exception, "RabbitMQConnection recovery with error");
 }
 private void OnConnectionRecoveryError(object sender, ConnectionRecoveryErrorEventArgs e)
 {
     ConnectionRecoveryError?.Invoke(sender, e);
 }
Ejemplo n.º 15
0
 private void Connection_ConnectionRecoveryError(object sender, ConnectionRecoveryErrorEventArgs e)
 {
     Debug.Log("ElmoGameNetwork: Try To Recover...");
 }
Ejemplo n.º 16
0
 private void NewConnectOnConnectionRecoveryError(object sender, ConnectionRecoveryErrorEventArgs e)
 {
     _logger.Error(e.Exception, $"Ошибка восстановления работы");
 }
        protected bool RecoverConnectionDelegate()
        {
            while (!ManuallyClosed)
            {
                try
                {
                    var fh = endpoints.SelectOne(m_factory.CreateFrameHandler);
                    m_delegate = new Connection(m_factory, false, fh, this.ClientProvidedName);
                    return true;
                }
                catch (Exception e)
                {
                    ESLog.Error("Connection recovery exception.", e);
                    // Trigger recovery error events
                    var handler = m_connectionRecoveryError;
                    if (handler != null)
                    {
                        var args = new ConnectionRecoveryErrorEventArgs(e);
                        foreach (EventHandler<ConnectionRecoveryErrorEventArgs> h in handler.GetInvocationList())
                        {
                            try
                            {
                                h(this, args);
                            }
                            catch (Exception ex)
                            {
                                var a = new CallbackExceptionEventArgs(ex);
                                a.Detail["context"] = "OnConnectionRecoveryError";
                                m_delegate.OnCallbackException(a);
                            }
                        }
                    }

            #if NETFX_CORE
                    System.Threading.Tasks.Task.Delay(m_factory.NetworkRecoveryInterval).Wait();
            #else
                    Thread.Sleep(m_factory.NetworkRecoveryInterval);
            #endif
                }
            }

            return false;
        }
Ejemplo n.º 18
0
 private void _connection_ConnectionRecoveryError(object sender, ConnectionRecoveryErrorEventArgs e)
 {
     Logger.Error(e.Exception, "RabbitMQ connection recovery error");
 }
Ejemplo n.º 19
0
 private void ConnectionRecoveryError(object sender, ConnectionRecoveryErrorEventArgs args)
 {
 }
Ejemplo n.º 20
0
 private void Connection_ConnectionRecoveryError(object sender, ConnectionRecoveryErrorEventArgs e)
 {
     _logger.LogError("连接恢复错误:" + e.Exception, sender, e);
 }
Ejemplo n.º 21
0
 private void OnConnectionRecoveryError(object sender, ConnectionRecoveryErrorEventArgs e)
 {
     _logger.Warn($"Failed to auto recover connection to Rabbit, re-attempting.....");
 }
Ejemplo n.º 22
0
 private void Conn_ConnectionRecoveryError(object sender, ConnectionRecoveryErrorEventArgs e)
 {
     logger.LogInformation($"Conn_ConnectionRecoveryError - {sender.ToString()} : {e.ToString()}");
 }