Beispiel #1
0
 public AmazonSqsReceiveEndpointBuilder(IAmazonSqsHostControl host, AmazonSqsHostSettings hostSettings,
                                        IAmazonSqsReceiveEndpointConfiguration configuration)
     : base(configuration)
 {
     _host          = host;
     _hostSettings  = hostSettings;
     _configuration = configuration;
 }
        public IAmazonSqsHostConfiguration CreateHostConfiguration(IAmazonSqsHostControl host)
        {
            var hostConfiguration = new AmazonSqsHostConfiguration(this, host);

            _hosts.Add(hostConfiguration);

            return(hostConfiguration);
        }
Beispiel #3
0
        public AmazonSqsHostConfiguration(IAmazonSqsBusConfiguration busConfiguration, AmazonSqsHostSettings settings, IAmazonSqsHostTopology topology)
        {
            Settings          = settings;
            _topology         = topology;
            _busConfiguration = busConfiguration;

            _host = new AmazonSqsHost(this);
        }
        public void Build(IAmazonSqsHostControl host)
        {
            var builder = new AmazonSqsReceiveEndpointBuilder(host, _hostConfiguration.Settings, this);

            ApplySpecifications(builder);

            var receiveEndpointContext = builder.CreateReceiveEndpointContext();

            _clientConfigurator.UseFilter(new ConfigureTopologyFilter <ReceiveSettings>(_settings, receiveEndpointContext.BrokerTopology));

            IAgent consumerAgent;

            if (_hostConfiguration.DeployTopologyOnly)
            {
                var transportReadyFilter = new TransportReadyFilter <ClientContext>(receiveEndpointContext);
                _clientConfigurator.UseFilter(transportReadyFilter);

                consumerAgent = transportReadyFilter;
            }
            else
            {
                if (_settings.PurgeOnStartup)
                {
                    _clientConfigurator.UseFilter(new PurgeOnStartupFilter(_settings.EntityName));
                }

                var consumerFilter = new AmazonSqsConsumerFilter(receiveEndpointContext);

                _clientConfigurator.UseFilter(consumerFilter);

                consumerAgent = consumerFilter;
            }

            IFilter <ConnectionContext> clientFilter = new ReceiveClientFilter(_clientConfigurator.Build());

            _connectionConfigurator.UseFilter(clientFilter);

            var transport = new SqsReceiveTransport(host, _settings, _connectionConfigurator.Build(), receiveEndpointContext);

            transport.Add(consumerAgent);

            var receiveEndpoint = new ReceiveEndpoint(transport, receiveEndpointContext);

            var queueName = _settings.EntityName ?? NewId.Next().ToString(FormatUtil.Formatter);

            host.AddReceiveEndpoint(queueName, receiveEndpoint);

            ReceiveEndpoint = receiveEndpoint;
        }
 public AmazonSqsPublishTransportProvider(IAmazonSqsHostControl host)
 {
     _host = host;
 }
 public AmazonSqsHostConfiguration(IAmazonSqsBusConfiguration busConfiguration, IAmazonSqsHostControl host)
 {
     _host             = host;
     _busConfiguration = busConfiguration;
 }
Beispiel #7
0
 public PublishTransportProvider(IAmazonSqsHostControl host, IAmazonSqsPublishTopology publishTopology)
 {
     _publishTopology = publishTopology;
     _host            = host;
 }
Beispiel #8
0
 public SqsQueueReceiveEndpointContext(IAmazonSqsHostControl host, IAmazonSqsReceiveEndpointConfiguration configuration, BrokerTopology brokerTopology)
     : base(configuration)
 {
     _host          = host;
     BrokerTopology = brokerTopology;
 }
Beispiel #9
0
 public SendTransportProvider(IAmazonSqsHostControl host)
 {
     _host = host;
 }