BrokerTopology BuildTopology(ReceiveSettings settings) { var topologyBuilder = new ReceiveEndpointBrokerTopologyBuilder(); var queueArguments = new Dictionary <string, object>(settings.QueueArguments); bool queueAutoDelete = settings.AutoDelete; if (settings.QueueExpiration.HasValue) { queueArguments["x-expires"] = (long)settings.QueueExpiration.Value.TotalMilliseconds; queueAutoDelete = false; } topologyBuilder.Exchange = topologyBuilder.ExchangeDeclare(settings.ExchangeName ?? settings.QueueName, settings.ExchangeType, settings.Durable, settings.AutoDelete, settings.ExchangeArguments); if (settings.BindQueue) { topologyBuilder.Queue = topologyBuilder.QueueDeclare(settings.QueueName, settings.Durable, queueAutoDelete, settings.Exclusive, queueArguments); topologyBuilder.QueueBind(topologyBuilder.Exchange, topologyBuilder.Queue, settings.RoutingKey, settings.BindingArguments); } _configuration.Topology.Consume.Apply(topologyBuilder); return(topologyBuilder.BuildTopologyLayout()); }
BrokerTopology BuildTopology(ReceiveSettings settings) { var topologyBuilder = new ReceiveEndpointBrokerTopologyBuilder(); topologyBuilder.Queue = topologyBuilder.CreateQueue(settings.EntityName, settings.Durable, settings.AutoDelete); _configuration.Topology.Consume.Apply(topologyBuilder); return(topologyBuilder.BuildTopologyLayout()); }
BrokerTopology BuildTopology(ReceiveSettings settings) { var builder = new ReceiveEndpointBrokerTopologyBuilder(); builder.Queue = builder.CreateQueue(settings.EntityName, settings.Durable, settings.AutoDelete, settings.QueueAttributes, settings.QueueSubscriptionAttributes); _configuration.Topology.Consume.Apply(builder); return(builder.BuildTopologyLayout()); }
BrokerTopology BuildTopology(ReceiveSettings settings) { var topologyBuilder = new ReceiveEndpointBrokerTopologyBuilder(); topologyBuilder.Queue = topologyBuilder.QueueDeclare(settings.QueueName, settings.Durable, settings.AutoDelete, settings.Exclusive, settings.QueueArguments); topologyBuilder.Exchange = topologyBuilder.ExchangeDeclare(settings.ExchangeName ?? settings.QueueName, settings.ExchangeType, settings.Durable, settings.AutoDelete, settings.ExchangeArguments); topologyBuilder.QueueBind(topologyBuilder.Exchange, topologyBuilder.Queue, settings.RoutingKey, settings.BindingArguments); _configuration.Topology.Consume.Apply(topologyBuilder); return(topologyBuilder.BuildTopologyLayout()); }