public override IReceiveEndpoint Build() { var builder = new RabbitMqReceiveEndpointBuilder(this); ApplySpecifications(builder); var receivePipe = CreateReceivePipe(); var receiveEndpointContext = builder.CreateReceiveEndpointContext(); _modelConfigurator.UseFilter(new ConfigureTopologyFilter <ReceiveSettings>(_settings, receiveEndpointContext.BrokerTopology)); IAgent consumerAgent; if (_hostConfiguration.BusConfiguration.DeployTopologyOnly) { var transportReadyFilter = new TransportReadyFilter <ModelContext>(builder.TransportObservers, InputAddress); _modelConfigurator.UseFilter(transportReadyFilter); consumerAgent = transportReadyFilter; } else { if (_settings.PurgeOnStartup) { _modelConfigurator.UseFilter(new PurgeOnStartupFilter(_settings.QueueName)); } _modelConfigurator.UseFilter(new PrefetchCountFilter(_managementPipe, _settings.PrefetchCount)); var deadLetterTransport = CreateDeadLetterTransport(); var errorTransport = CreateErrorTransport(); var consumerFilter = new RabbitMqConsumerFilter(receivePipe, builder.ReceiveObservers, builder.TransportObservers, receiveEndpointContext, deadLetterTransport, errorTransport); _modelConfigurator.UseFilter(consumerFilter); consumerAgent = consumerFilter; } IFilter <ConnectionContext> modelFilter = new ReceiveModelFilter(_modelConfigurator.Build(), _hostConfiguration.Host); _connectionConfigurator.UseFilter(modelFilter); var transport = new RabbitMqReceiveTransport(_hostConfiguration.Host, _settings, _connectionConfigurator.Build(), receiveEndpointContext, builder.ReceiveObservers, builder.TransportObservers); transport.Add(consumerAgent); return(CreateReceiveEndpoint(_settings.QueueName ?? NewId.Next().ToString(), transport, receivePipe, receiveEndpointContext)); }
public void Build(IRabbitMqHostControl host) { var builder = new RabbitMqReceiveEndpointBuilder(host, this); ApplySpecifications(builder); var receiveEndpointContext = builder.CreateReceiveEndpointContext(); _modelConfigurator.UseFilter(new ConfigureTopologyFilter <ReceiveSettings>(_settings, receiveEndpointContext.BrokerTopology)); IAgent consumerAgent; if (_hostConfiguration.DeployTopologyOnly) { var transportReadyFilter = new TransportReadyFilter <ModelContext>(receiveEndpointContext); _modelConfigurator.UseFilter(transportReadyFilter); consumerAgent = transportReadyFilter; } else { if (_settings.PurgeOnStartup) { _modelConfigurator.UseFilter(new PurgeOnStartupFilter(_settings.QueueName)); } _modelConfigurator.UseFilter(new PrefetchCountFilter(_managementPipe, _settings.PrefetchCount)); var consumerFilter = new RabbitMqConsumerFilter(receiveEndpointContext); _modelConfigurator.UseFilter(consumerFilter); consumerAgent = consumerFilter; } IFilter <ConnectionContext> modelFilter = new ReceiveEndpointFilter(_modelConfigurator.Build()); _connectionConfigurator.UseFilter(modelFilter); var transport = new RabbitMqReceiveTransport(host, _settings, _connectionConfigurator.Build(), receiveEndpointContext); transport.Add(consumerAgent); var receiveEndpoint = new ReceiveEndpoint(transport, receiveEndpointContext); var queueName = _settings.QueueName ?? NewId.Next().ToString(FormatUtil.Formatter); host.AddReceiveEndpoint(queueName, receiveEndpoint); ReceiveEndpoint = receiveEndpoint; }
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 override IReceiveEndpoint Build() { var builder = new ActiveMqReceiveEndpointBuilder(this); ApplySpecifications(builder); var receivePipe = CreateReceivePipe(); var receiveEndpointContext = builder.CreateReceiveEndpointContext(); _sessionConfigurator.UseFilter(new ConfigureTopologyFilter <ReceiveSettings>(_settings, receiveEndpointContext.BrokerTopology)); IAgent consumerAgent; if (_hostConfiguration.BusConfiguration.DeployTopologyOnly) { var transportReadyFilter = new TransportReadyFilter <SessionContext>(builder.TransportObservers, InputAddress); _sessionConfigurator.UseFilter(transportReadyFilter); consumerAgent = transportReadyFilter; } else { var deadLetterTransport = CreateDeadLetterTransport(); var errorTransport = CreateErrorTransport(); var consumerFilter = new ActiveMqConsumerFilter(receivePipe, builder.ReceiveObservers, builder.TransportObservers, receiveEndpointContext, deadLetterTransport, errorTransport); _sessionConfigurator.UseFilter(consumerFilter); consumerAgent = consumerFilter; } IFilter <ConnectionContext> sessionFilter = new ReceiveSessionFilter(_sessionConfigurator.Build(), _hostConfiguration.Host); _connectionConfigurator.UseFilter(sessionFilter); var transport = new ActiveMqReceiveTransport(_hostConfiguration.Host, _settings, _connectionConfigurator.Build(), receiveEndpointContext, builder.ReceiveObservers, builder.TransportObservers); transport.Add(consumerAgent); return(CreateReceiveEndpoint(_settings.EntityName ?? NewId.Next().ToString(), transport, receivePipe, receiveEndpointContext)); }
public void Build(IHost host) { var builder = new ActiveMqReceiveEndpointBuilder(_hostConfiguration, this); ApplySpecifications(builder); var receiveEndpointContext = builder.CreateReceiveEndpointContext(); _sessionConfigurator.UseFilter(new ConfigureTopologyFilter <ReceiveSettings>(_settings, receiveEndpointContext.BrokerTopology)); IAgent consumerAgent; if (_hostConfiguration.DeployTopologyOnly) { var transportReadyFilter = new TransportReadyFilter <SessionContext>(receiveEndpointContext); _sessionConfigurator.UseFilter(transportReadyFilter); consumerAgent = transportReadyFilter; } else { var consumerFilter = new ActiveMqConsumerFilter(receiveEndpointContext); _sessionConfigurator.UseFilter(consumerFilter); consumerAgent = consumerFilter; } IFilter <ConnectionContext> sessionFilter = new ReceiveSessionFilter(_sessionConfigurator.Build()); _connectionConfigurator.UseFilter(sessionFilter); var transport = new ActiveMqReceiveTransport(_hostConfiguration, _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 override IReceiveEndpoint Build() { var builder = new AmazonSqsReceiveEndpointBuilder(this); ApplySpecifications(builder); var receiveEndpointContext = builder.CreateReceiveEndpointContext(); _clientConfigurator.UseFilter(new ConfigureTopologyFilter <ReceiveSettings>(_settings, receiveEndpointContext.BrokerTopology)); IAgent consumerAgent; if (_hostConfiguration.BusConfiguration.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(_hostConfiguration.Host, _settings, _connectionConfigurator.Build(), receiveEndpointContext); transport.Add(consumerAgent); return(CreateReceiveEndpoint(_settings.EntityName ?? NewId.Next().ToString(), transport, receiveEndpointContext)); }