Пример #1
0
        public static IEventDataReceiver CreateEventDataReceiver(this IBusFactorySelector selector, IBinder binder,
                                                                 Action <IWebJobReceiverConfigurator> configure)
        {
            if (binder == null)
            {
                throw new ArgumentNullException(nameof(binder));
            }

            if (configure == null)
            {
                throw new ArgumentNullException(nameof(configure));
            }

            var topologyConfiguration = new ServiceBusTopologyConfiguration(AzureBusFactory.MessageTopology);
            var busConfiguration      = new ServiceBusBusConfiguration(topologyConfiguration);

            var queueConfigurator = new QueueConfigurator("no-host-configured")
            {
                AutoDeleteOnIdle = Defaults.TemporaryAutoDeleteOnIdle,
            };

            var settings = new ReceiveEndpointSettings("no-host-configured", queueConfigurator);

            var busEndpointConfiguration = busConfiguration.CreateReceiveEndpointConfiguration(settings, busConfiguration);

            var configurator = new WebJobEventDataReceiverSpecification(binder, busEndpointConfiguration);

            configure(configurator);

            return(configurator.Build());
        }
Пример #2
0
 public ServiceBusReceiveEndpointSpecification(IServiceBusHost host, ReceiveEndpointSettings settings, IServiceBusEndpointConfiguration configuration,
                                               ISendTransportProvider sendTransportProvider)
     : base(host, settings, settings.QueueConfigurator, configuration)
 {
     _settings               = settings;
     _configuration          = configuration;
     _sendTransportProvider  = sendTransportProvider;
     _subscribeMessageTopics = true;
 }
Пример #3
0
        public ServiceBusReceiveEndpointConfiguration(IServiceBusHostConfiguration hostConfiguration, ReceiveEndpointSettings settings,
                                                      IServiceBusEndpointConfiguration endpointConfiguration)
            : base(hostConfiguration, settings, endpointConfiguration)
        {
            _hostConfiguration     = hostConfiguration;
            _endpointConfiguration = endpointConfiguration;
            _settings = settings;

            _settings.QueueConfigurator.BasePath = hostConfiguration.BasePath;

            _inputAddress = new Lazy <Uri>(FormatInputAddress);
        }
Пример #4
0
        public ServiceBusBusFactoryConfigurator(IServiceBusBusConfiguration busConfiguration, IServiceBusEndpointConfiguration busEndpointConfiguration)
            : base(busConfiguration, busEndpointConfiguration)
        {
            _configuration            = busConfiguration;
            _busEndpointConfiguration = busEndpointConfiguration;

            _queueConfigurator = new QueueConfigurator("no-host-configured")
            {
                AutoDeleteOnIdle = Defaults.TemporaryAutoDeleteOnIdle,
            };

            _settings = new ReceiveEndpointSettings("no-host-configured", _queueConfigurator);
        }
        public ServiceBusBusFactoryConfigurator(IServiceBusBusConfiguration busConfiguration)
            : base(busConfiguration)
        {
            _busConfiguration  = busConfiguration;
            _hostConfiguration = busConfiguration.HostConfiguration;

            var queueName = _busConfiguration.Topology.Consume.CreateTemporaryQueueName("bus");

            _queueConfigurator = new QueueConfigurator(queueName)
            {
                AutoDeleteOnIdle = Defaults.TemporaryAutoDeleteOnIdle
            };

            _settings = new ReceiveEndpointSettings(queueName, _queueConfigurator);
        }
        public ServiceBusReceiveEndpointConfiguration(IServiceBusHostConfiguration hostConfiguration, IServiceBusEndpointConfiguration endpointConfiguration,
                                                      ReceiveEndpointSettings settings)
            : base(hostConfiguration, endpointConfiguration, settings)
        {
            _hostConfiguration     = hostConfiguration;
            _endpointConfiguration = endpointConfiguration;
            _settings = settings;

            _settings.QueueConfigurator.BasePath = hostConfiguration.Host.BasePath;

            HostAddress  = hostConfiguration.HostAddress;
            InputAddress = settings.GetInputAddress(hostConfiguration.HostAddress, settings.Path);

            SubscribeMessageTopics = true;
        }
        public ServiceBusBusFactoryConfigurator()
        {
            _hosts = new BusHostCollection <ServiceBusHost>();

            var queueName = ((IServiceBusHost)null).GetTemporaryQueueName("bus");

            _settings = new ReceiveEndpointSettings(Defaults.CreateQueueDescription(queueName))
            {
                QueueDescription =
                {
                    EnableExpress    = true,
                    AutoDeleteOnIdle = TimeSpan.FromMinutes(5)
                }
            };
        }
Пример #8
0
        public ServiceBusBusFactoryConfigurator(IServiceBusBusConfiguration busConfiguration, IServiceBusEndpointConfiguration busEndpointConfiguration)
            : base(busConfiguration, busEndpointConfiguration)
        {
            _configuration            = busConfiguration;
            _busEndpointConfiguration = busEndpointConfiguration;

            var busQueueName = _configuration.Topology.Consume.CreateTemporaryQueueName("bus");

            _queueConfigurator = new QueueConfigurator(busQueueName)
            {
                AutoDeleteOnIdle = Defaults.TemporaryAutoDeleteOnIdle,
                EnableExpress    = true
            };

            _settings = new ReceiveEndpointSettings(busQueueName, _queueConfigurator);
        }
Пример #9
0
        public ServiceBusBusFactoryConfigurator(IServiceBusEndpointConfiguration configuration)
            : base(configuration)
        {
            _configuration = configuration;
            _hosts         = new BusHostCollection <ServiceBusHost>();

            _sendTransportProvider = new ServiceBusSendTransportProvider(_hosts);

            var queueName = ((IServiceBusHost)null).GetTemporaryQueueName("bus");

            _queueConfigurator = new QueueConfigurator(queueName)
            {
                AutoDeleteOnIdle = TimeSpan.FromMinutes(5),
                EnableExpress    = true
            };
            _settings = new ReceiveEndpointSettings(_queueConfigurator);
        }
        public ServiceBusBusBuilder(BusHostCollection<ServiceBusHost> hosts, IConsumePipeFactory consumePipeFactory, ISendPipeFactory sendPipeFactory,
            IPublishPipeFactory publishPipeFactory, ReceiveEndpointSettings settings)
            : base(consumePipeFactory, sendPipeFactory, publishPipeFactory, hosts)
        {
            if (hosts == null)
                throw new ArgumentNullException(nameof(hosts));

            _hosts = hosts;

            _busEndpointSpecification = new ServiceBusReceiveEndpointSpecification(_hosts[0], settings, ConsumePipe);

            foreach (var host in hosts.Hosts)
            {
                host.ReceiveEndpointFactory = new ServiceBusReceiveEndpointFactory(this, host);
                host.SubscriptionEndpointFactory = new ServiceBusSubscriptionEndpointFactory(this, host);
            }
        }
        public ServiceBusBusBuilder(BusHostCollection <ServiceBusHost> hosts, ReceiveEndpointSettings settings,
                                    IServiceBusEndpointConfiguration configuration, ISendTransportProvider sendTransportProvider)
            : base(hosts, configuration)
        {
            if (hosts == null)
            {
                throw new ArgumentNullException(nameof(hosts));
            }

            var endpointTopologySpecification = configuration.CreateNewConfiguration(ConsumePipe);

            _busEndpointSpecification = new ServiceBusReceiveEndpointSpecification(hosts[0], settings, endpointTopologySpecification, sendTransportProvider);

            foreach (var host in hosts.Hosts)
            {
                host.ReceiveEndpointFactory      = new ServiceBusReceiveEndpointFactory(this, host, configuration, sendTransportProvider);
                host.SubscriptionEndpointFactory = new ServiceBusSubscriptionEndpointFactory(this, host, configuration, sendTransportProvider);
            }
        }
Пример #12
0
        public ServiceBusBusBuilder(BusHostCollection <ServiceBusHost> hosts, IConsumePipeFactory consumePipeFactory, ISendPipeFactory sendPipeFactory,
                                    IPublishPipeFactory publishPipeFactory, ReceiveEndpointSettings settings)
            : base(consumePipeFactory, sendPipeFactory, publishPipeFactory, hosts)
        {
            if (hosts == null)
            {
                throw new ArgumentNullException(nameof(hosts));
            }

            _hosts = hosts;

            _busEndpointSpecification = new ServiceBusReceiveEndpointSpecification(_hosts[0], settings, ConsumePipe);

            foreach (var host in hosts.Hosts)
            {
                host.ReceiveEndpointFactory      = new ServiceBusReceiveEndpointFactory(this, host);
                host.SubscriptionEndpointFactory = new ServiceBusSubscriptionEndpointFactory(this, host);
            }
        }
Пример #13
0
 public ServiceBusReceiveEndpointSpecification(IServiceBusHost host, ReceiveEndpointSettings settings, IConsumePipe consumePipe = null)
     : base(host, settings, consumePipe)
 {
     _settings = settings;
     _subscribeMessageTopics = true;
 }
        public IServiceBusReceiveEndpointConfiguration CreateReceiveEndpointConfiguration(ReceiveEndpointSettings settings,
                                                                                          IServiceBusEndpointConfiguration endpointConfiguration)
        {
            if (_hosts.Count == 0)
            {
                throw new ConfigurationException("At least one host must be configured");
            }

            return(new ServiceBusReceiveEndpointConfiguration(_hosts[0], endpointConfiguration, settings));
        }
 public ServiceBusReceiveEndpointSpecification(IServiceBusHost host, ReceiveEndpointSettings settings, IConsumePipe consumePipe = null)
     : base(host, settings, consumePipe)
 {
     _settings = settings;
     _subscribeMessageTopics = true;
 }