Exemplo n.º 1
0
        public void Send(BusinessMessage businessMessage)
        {
            if (queueConnection == null)
            {
                lock (_lock)
                {
                    if (queueConnection == null)
                    {
                        queueConnection = _connector.ConnectToQueue(_logger, _environment.BuildQueueSettings());
                    }
                }
            }

            try
            {
                _logger.LogDebug($"MessageSender:Send: '{businessMessage.CorrelationId}'");
                using (var channel = queueConnection.CreateModel())
                {
                    channel.ExchangeDeclare(Constants.ArticlesExchange, ExchangeType.Fanout);
                    string message = JsonConvert.SerializeObject(businessMessage);
                    channel.BasicPublish(Constants.ArticlesExchange, Constants.RoutingKey, basicProperties: null, body: Encoding.UTF8.GetBytes(message));
                    _logger.LogDebug($"MessageSender:Send: '{businessMessage.CorrelationId}': SUCCESS");
                }
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);
                throw;
            }
        }
Exemplo n.º 2
0
 private IConnection GetQueueConnection()
 {
     return(_connector.ConnectToQueue(_logger, _environment.BuildQueueSettings()));
 }