public RabbitMqTopologyConfiguration(IRabbitMqTopologyConfiguration topologyConfiguration)
        {
            _messageTopology = topologyConfiguration.Message;
            _sendTopology    = topologyConfiguration.Send;
            _publishTopology = topologyConfiguration.Publish;

            _consumeTopology = new RabbitMqConsumeTopology(topologyConfiguration.Message, topologyConfiguration.Publish);
        }
Exemple #2
0
        public void Setup()
        {
            _nameFormatter       = new RabbitMqMessageNameFormatter();
            _entityNameFormatter = new MessageNameFormatterEntityNameFormatter(_nameFormatter);
            _consumeTopology     = new RabbitMqConsumeTopology(RabbitMqBusFactory.MessageTopology, new RabbitMqPublishTopology(RabbitMqBusFactory.MessageTopology));

            _builder = new ReceiveEndpointBrokerTopologyBuilder();

            _inputQueueName   = "input-queue";
            _builder.Queue    = _builder.QueueDeclare(_inputQueueName, true, false, false, new Dictionary <string, object>());
            _builder.Exchange = _builder.ExchangeDeclare(_inputQueueName, _consumeTopology.ExchangeTypeSelector.DefaultExchangeType, true, false,
                                                         new Dictionary <string, object>());
            _builder.QueueBind(_builder.Exchange, _builder.Queue, "", new Dictionary <string, object>());
        }
        public RabbitMqTopologyConfiguration(IMessageTopologyConfigurator messageTopology)
        {
            _messageTopology = messageTopology;

            _sendTopology = new RabbitMqSendTopology(RabbitMqEntityNameValidator.Validator);
            _sendTopology.Connect(new DelegateSendTopologyConfigurationObserver(GlobalTopology.Send));
            _sendTopology.AddConvention(new RoutingKeySendTopologyConvention());

            _publishTopology = new RabbitMqPublishTopology(messageTopology);
            _publishTopology.Connect(new DelegatePublishTopologyConfigurationObserver(GlobalTopology.Publish));

            var observer = new PublishToSendTopologyConfigurationObserver(_sendTopology);

            _publishToSendTopologyHandle = _publishTopology.Connect(observer);

            _consumeTopology = new RabbitMqConsumeTopology(messageTopology, _publishTopology);
        }