예제 #1
0
 public QueueSettings(RbmqConfigurationElement s)
 {
     Host         = s.Host;
     Username     = s.Username;
     Password     = s.Password;
     Port         = s.Port;
     AutoDelete   = s.AutoDelete;
     Bind         = s.Bind;
     DeadLetters  = s.DeadLetters;
     Exchange     = s.Exchange;
     ExchangeType = s.ExchangeType;
     RoutingKey   = s.RoutingKey;
     QoS          = s.QoS;
     Queue        = s.Queue;
     MessageLimit = s.MessageLimit;
     IsDurable    = s.IsDurable;
     Name         = s.Name;
 }
예제 #2
0
        public RbmqQueue(ILoggerFactory loggerFactory, RbmqConfigurationElement settings, bool publisher = true)
        {
            _logger = loggerFactory.CreateLogger <RbmqQueue>();
            // default serialization settings
            this._publisherSerializationSettings = new JsonSerializerSettings()
            {
                Formatting = Formatting.Indented
            };

            this._consumerSerializationSettings = new JsonSerializerSettings()
            {
                Formatting = Formatting.Indented
            };


            if (publisher)
            {
                _publisherSettings = new QueueSettings(settings);
                if (string.IsNullOrEmpty(_publisherSettings.Queue))
                {
                    _publisherSettings.GenerateNewQueueName(true);
                    _publisherSettings.GeneratedQueueName = true;
                    _publisherSettings.Exclusive          = true;
                }
                _publishConn = GetConnection(_publisherSettings);
                Initialize(_publishChannel, _publishConn, _publisherSettings);
                _publishConn.ConnectionShutdown += PublisherConnectionShutdown;
            }
            else
            {
                _consumerSettings = new QueueSettings(settings);
                if (string.IsNullOrEmpty(_consumerSettings.Queue))
                {
                    _consumerSettings.GenerateNewQueueName(false);
                    _consumerSettings.GeneratedQueueName = true;
                    _consumerSettings.Exclusive          = true;
                }
                _consumerConn = GetConnection(_consumerSettings);
                Initialize(_consumerChannel, _consumerConn, _consumerSettings);
                _consumerConn.ConnectionShutdown += ConsumerConnectionShutdown;
            }
        }