public void Publish(object message, MessageProperties messageProperties) { try { if (_connection != null && _connection.IsOpen) { Flush(); PublishMessage(message, messageProperties, null); } else { lock (_queueLock) _queueStrategy.Enqueue(new MessageInfo { Message = message, MessageProperties = messageProperties }); } } catch (Exception e) { Logger.Current.Write("An exception occurred while publishing: " + e.Message, TraceEventType.Error); throw; } }
public void Publish(object message, string routingKey, IDictionary headers) { try { if (_connection != null && _connection.IsOpen) { Flush(); PublishMessage(message, routingKey, headers, null); } else { lock (_queueLock) _queueStrategy.Enqueue(new MessageInfo { Message = message, RoutingKey = routingKey, Headers = headers }); } } catch (Exception e) { Logger.Current.Write("An exception occurred while publishing: " + e.Message, TraceEventType.Error); throw; } }