public RabbitMqMessageConsumeTopology(IMessageTopology <TMessage> messageTopology, IMessageExchangeTypeSelector <TMessage> exchangeTypeSelector, IRabbitMqMessagePublishTopology <TMessage> publishTopology) { _messageTopology = messageTopology; _publishTopology = publishTopology; ExchangeTypeSelector = exchangeTypeSelector; _specifications = new List <IRabbitMqConsumeTopologySpecification>(); }
public RabbitMqMessagePublishTopology(IMessageTopology <TMessage> messageTopology, IMessageExchangeTypeSelector <TMessage> exchangeTypeSelector) { _messageTopology = messageTopology; ExchangeTypeSelector = exchangeTypeSelector; var exchangeName = messageTopology.EntityName; var exchangeType = exchangeTypeSelector.GetExchangeType(exchangeName); var temporary = TypeMetadataCache <TMessage> .IsTemporaryMessageType; var durable = !temporary; var autoDelete = temporary; _exchangeConfigurator = new ExchangeConfigurator(exchangeName, exchangeType, durable, autoDelete); _implementedMessageTypes = new List <IRabbitMqMessagePublishTopology>(); }