public void Apply(IPublishEndpointBrokerTopologyBuilder builder)
        {
            if (Exclude)
            {
                return;
            }

            var exchangeHandle = builder.ExchangeDeclare(_exchange.ExchangeName, _exchange.ExchangeType, _exchange.Durable, _exchange.AutoDelete,
                                                         _exchange.ExchangeArguments);

            if (builder.Exchange != null)
            {
                var routingKey = builder.Exchange.Exchange.ExchangeType == ExchangeType.Topic
                    ? "#"
                    : "";

                builder.ExchangeBind(builder.Exchange, exchangeHandle, routingKey, new Dictionary <string, object>());
            }
            else
            {
                builder.Exchange = exchangeHandle;
            }

            for (var i = 0; i < _specifications.Count; i++)
            {
                _specifications[i].Apply(builder);
            }

            foreach (var configurator in _implementedMessageTypes)
            {
                configurator.Apply(builder);
            }
        }
        public void Apply(IPublishEndpointBrokerTopologyBuilder builder)
        {
            var exchangeHandle = builder.ExchangeDeclare(ExchangeName, ExchangeType, Durable, AutoDelete, ExchangeArguments);

            var queueHandle = builder.QueueDeclare(QueueName, Durable, AutoDelete, Exclusive, QueueArguments);

            var bindingHandle = builder.QueueBind(exchangeHandle, queueHandle, RoutingKey, BindingArguments);
        }
Пример #3
0
        public void Apply(IPublishEndpointBrokerTopologyBuilder builder)
        {
            var exchangeHandle = ExchangeDeclare(builder);

            if (builder.Exchange != null)
            {
                builder.ExchangeBind(builder.Exchange, exchangeHandle, "", new Dictionary <string, object>());
            }
            else
            {
                builder.Exchange = exchangeHandle;
            }

            foreach (IRabbitMqMessagePublishTopology configurator in _implementedMessageTypes)
            {
                configurator.Apply(builder);
            }
        }
Пример #4
0
        public void Apply(IPublishEndpointBrokerTopologyBuilder builder)
        {
            var exchangeHandle = builder.ExchangeDeclare(_exchange.ExchangeName, _exchange.ExchangeType, _exchange.Durable, _exchange.AutoDelete,
                                                         _exchange.ExchangeArguments);

            if (builder.Exchange != null)
            {
                builder.ExchangeBind(builder.Exchange, exchangeHandle, "", new Dictionary <string, object>());
            }
            else
            {
                builder.Exchange = exchangeHandle;
            }

            for (int i = 0; i < _specifications.Count; i++)
            {
                _specifications[i].Apply(builder);
            }

            foreach (IRabbitMqMessagePublishTopology configurator in _implementedMessageTypes)
            {
                configurator.Apply(builder);
            }
        }
 public ImplementedBuilder(IPublishEndpointBrokerTopologyBuilder builder, PublishBrokerTopologyOptions options)
 {
     _builder = builder;
     _options = options;
 }
        public void Apply(IPublishEndpointBrokerTopologyBuilder builder)
        {
            var exchangeHandle = builder.ExchangeDeclare(ExchangeName, _exchangeType, _durable, _autoDelete, _exchangeArguments);

            var bindingHandle = builder.ExchangeBind(builder.Exchange, exchangeHandle, _routingKey, _bindingArguments);
        }
Пример #7
0
 public ImplementedBuilder(IPublishEndpointBrokerTopologyBuilder builder, IServiceBusPublishTopology topology, Options options)
 {
     _builder  = builder;
     _topology = topology;
     _options  = options;
 }