예제 #1
0
        public void Failed(Exception e)
        {
            try
            {
                if (CanRetry(e))
                {
                    _sender.Send(this);
                    return;
                }

                Logger.Info(e, "Send message failed");

                if (_messageStore != null)
                {
                    if (_message.StoreAtFailed)
                    {
                        _messageStore.Save(this);
                    }
                    else
                    {
                        _messageStore.Error(this, -100);
                    }
                }

                OnFailed();
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }
            finally
            {
            }
        }