public RabbitMqConsumeTopology(IMessageTopology messageTopology, IRabbitMqPublishTopology publishTopology)
        {
            _messageTopology     = messageTopology;
            _publishTopology     = publishTopology;
            ExchangeTypeSelector = new FanoutExchangeTypeSelector();

            _specifications = new List <IRabbitMqConsumeTopologySpecification>();
        }
        public RabbitMqQueueReceiveEndpointContext(IRabbitMqReceiveEndpointConfiguration configuration, BrokerTopology brokerTopology,
                                                   ReceiveObservable receiveObservers, ReceiveTransportObservable transportObservers, ReceiveEndpointObservable endpointObservers)
            : base(configuration, receiveObservers, transportObservers, endpointObservers)
        {
            _configuration   = configuration;
            BrokerTopology   = brokerTopology;
            _publishTopology = configuration.Topology.Publish;

            _sendTransportProvider    = new Lazy <ISendTransportProvider>(CreateSendTransportProvider);
            _publishTransportProvider = new Lazy <IPublishTransportProvider>(CreatePublishTransportProvider);
        }
        public RabbitMqMessagePublishTopology(IRabbitMqPublishTopology publishTopology, IMessageTopology <TMessage> messageTopology,
                                              IMessageExchangeTypeSelector <TMessage> exchangeTypeSelector)
        {
            _publishTopology     = publishTopology;
            _messageTopology     = messageTopology;
            ExchangeTypeSelector = exchangeTypeSelector;

            var exchangeName = messageTopology.EntityName;
            var exchangeType = exchangeTypeSelector.GetExchangeType(exchangeName);

            var temporary = TypeMetadataCache <TMessage> .IsTemporaryMessageType;

            var durable    = !temporary;
            var autoDelete = temporary;

            _exchange = new ExchangeConfigurator(exchangeName, exchangeType, durable, autoDelete);

            _implementedMessageTypes = new List <IRabbitMqMessagePublishTopology>();
            _specifications          = new List <IRabbitMqPublishTopologySpecification>();
        }
        public RabbitMqReceiveEndpointTopology(IRabbitMqEndpointConfiguration configuration, Uri inputAddress, IMessageSerializer serializer,
                                               IRabbitMqHost host, BusHostCollection <RabbitMqHost> hosts, BrokerTopology brokerTopology)
        {
            InputAddress    = inputAddress;
            _configuration  = configuration;
            _serializer     = serializer;
            _host           = host;
            _brokerTopology = brokerTopology;

            _hosts = hosts;

            _consume = configuration.Topology.Consume;

            _send    = configuration.Topology.Send;
            _publish = configuration.Topology.Publish;

            _sendTransportProvider   = new Lazy <ISendTransportProvider>(CreateSendTransportProvider);
            _sendEndpointProvider    = new Lazy <ISendEndpointProvider>(CreateSendEndpointProvider);
            _publishEndpointProvider = new Lazy <IPublishEndpointProvider>(CreatePublishEndpointProvider);
        }
        public ReceiveContextPublishTransportProvider(ReceiveContext receiveContext, RabbitMqHost host, IRabbitMqPublishTopology publishTopology)
            : base(host, publishTopology)
        {
            _receiveContext = receiveContext;

            _modelContext = receiveContext.GetPayload <ModelContext>();
        }
예제 #6
0
 public PublishTransportProvider(IRabbitMqHostControl host, IRabbitMqPublishTopology publishTopology)
 {
     _publishTopology = publishTopology;
     _host            = host;
 }