public void BindToExchange(string exchangeName, Action <IExchangeBindingConfigurator> configure = null)
        {
            var configurator = new ExchangeBindingConfigurator(exchangeName, RabbitMQ.Client.ExchangeType.Fanout, Durable, AutoDelete, "");

            configure?.Invoke(configurator);

            _exchangeBindings.Add(new ExchangeBindingPublishTopologySpecification(configurator));
        }
 public ExchangeBindingPublishTopologySpecification(ExchangeBindingConfigurator configurator)
 {
     ExchangeName       = configurator.ExchangeName;
     _exchangeType      = configurator.ExchangeType;
     _durable           = configurator.Durable;
     _autoDelete        = configurator.AutoDelete;
     _exchangeArguments = configurator.ExchangeArguments;
     _routingKey        = configurator.RoutingKey;
     _bindingArguments  = configurator.BindingArguments;
 }
Exemple #3
0
        public void Bind(string exchangeName, Action <IExchangeBindingConfigurator> configure = null)
        {
            var exchangeType = ExchangeTypeSelector.DefaultExchangeType;

            var binding = new ExchangeBindingConfigurator(exchangeName, exchangeType, true, false, "");

            configure?.Invoke(binding);

            var specification = new ExchangeBindingConsumeTopologySpecification(binding);

            _specifications.Add(specification);
        }
Exemple #4
0
        public void Bind(Action <IExchangeBindingConfigurator> configure = null)
        {
            if (!IsBindableMessageType)
            {
                _specifications.Add(new InvalidRabbitMqConsumeTopologySpecification(TypeMetadataCache <TMessage> .ShortName, "Is not a bindable message type"));
                return;
            }

            var binding = new ExchangeBindingConfigurator(_publishTopology.Exchange, "");

            configure?.Invoke(binding);

            var specification = new ExchangeBindingConsumeTopologySpecification(binding);

            _specifications.Add(specification);
        }