示例#1
0
        public RabbitMqMessageConsumeTopology(IMessageTopology <TMessage> messageTopology, IMessageExchangeTypeSelector <TMessage> exchangeTypeSelector,
                                              IRabbitMqMessagePublishTopology <TMessage> publishTopology)
        {
            _messageTopology     = messageTopology;
            _publishTopology     = publishTopology;
            ExchangeTypeSelector = exchangeTypeSelector;

            _specifications = new List <IRabbitMqConsumeTopologySpecification>();
        }
示例#2
0
        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>();
        }