public BrokeredMessageReceiverConfiguration(IServiceBusBusConfiguration busConfiguration,
                                             IServiceBusReceiveEndpointConfiguration endpointConfiguration)
     : base(endpointConfiguration)
 {
     _busConfiguration      = busConfiguration;
     _endpointConfiguration = endpointConfiguration;
 }
コード例 #2
0
 public EventDataReceiverConfiguration(IServiceBusBusConfiguration busConfiguration,
                                       IServiceBusReceiveEndpointConfiguration endpointConfiguration)
     : base(endpointConfiguration)
 {
     _busConfiguration      = busConfiguration;
     _endpointConfiguration = endpointConfiguration;
 }
コード例 #3
0
        public ServiceBusHostConfiguration(IServiceBusBusConfiguration busConfiguration, IServiceBusTopologyConfiguration topologyConfiguration)
            : base(busConfiguration)
        {
            _busConfiguration      = busConfiguration;
            _topologyConfiguration = topologyConfiguration;

            _hostSettings = new HostSettings();
            _hostTopology = new ServiceBusHostTopology(this, _topologyConfiguration);

            ReceiveTransportRetryPolicy = Retry.CreatePolicy(x =>
            {
                x.Ignore <MessagingEntityNotFoundException>();
                x.Ignore <MessagingEntityAlreadyExistsException>();
                x.Ignore <MessageNotFoundException>();
                x.Ignore <MessageSizeExceededException>();

                x.Ignore <UnauthorizedException>();

                x.Handle <ServerBusyException>(exception => exception.IsTransient);
                x.Handle <TimeoutException>();

                x.Interval(5, TimeSpan.FromSeconds(10));
            });

            _connectionContext = new Recycle <IConnectionContextSupervisor>(() => new ConnectionContextSupervisor(this, topologyConfiguration));
        }
コード例 #4
0
        public EventReceiver(IServiceProvider provider, IAsyncBusHandle busHandle, IServiceBusBusConfiguration busConfiguration)
        {
            _provider         = provider;
            _busHandle        = busHandle;
            _busConfiguration = busConfiguration;

            _receivers = new ConcurrentDictionary <string, IEventDataReceiver>();
        }
コード例 #5
0
        public ServiceBusHostConfiguration(IServiceBusBusConfiguration busConfiguration, IServiceBusTopologyConfiguration topologyConfiguration)
        {
            _busConfiguration      = busConfiguration;
            _hostSettings          = new HostSettings();
            _topologyConfiguration = topologyConfiguration;

            _proxy = new ServiceBusHostProxy(this);
        }
コード例 #6
0
        public MessageReceiver(IRegistration registration, IAsyncBusHandle busHandle, IServiceBusBusConfiguration busConfiguration)
        {
            _registration     = registration;
            _busHandle        = busHandle;
            _busConfiguration = busConfiguration;

            _receivers = new ConcurrentDictionary <string, IBrokeredMessageReceiver>();
        }
コード例 #7
0
        public EventReceiver(IRegistration registration, IAsyncBusHandle busHandle, IServiceBusBusConfiguration busConfiguration)
        {
            _registration     = registration;
            _busHandle        = busHandle;
            _busConfiguration = busConfiguration;

            _receivers = new ConcurrentDictionary <string, IEventDataReceiver>();
        }
コード例 #8
0
        public ServiceBusHostConfiguration(IServiceBusBusConfiguration busConfiguration, ServiceBusHostSettings hostSettings,
                                           IServiceBusHostTopology hostTopology)
        {
            _busConfiguration = busConfiguration;
            _hostSettings     = hostSettings;
            _hostTopology     = hostTopology;

            _host = new ServiceBusHost(this);
        }
コード例 #9
0
        public ServiceBusHostConfiguration(IServiceBusBusConfiguration busConfiguration, IServiceBusTopologyConfiguration topologyConfiguration)
            : base(busConfiguration)
        {
            _busConfiguration      = busConfiguration;
            _topologyConfiguration = topologyConfiguration;

            _hostSettings = new HostSettings();
            _hostTopology = new ServiceBusHostTopology(this, _topologyConfiguration);

            _connectionContextSupervisor = new ServiceBusConnectionContextSupervisor(this, topologyConfiguration);
        }
コード例 #10
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);
        }
コード例 #11
0
        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);
        }
コード例 #12
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);
        }
コード例 #13
0
        static void AddBus(this IRegistrationConfigurator <IServiceProvider> configurator, Action <IServiceBusBusFactoryConfigurator> configure = null)
        {
            configurator.AddBus(context =>
            {
                IOptions <ServiceBusOptions> options = context.Container.GetRequiredService <IOptions <ServiceBusOptions> >();

                options.Value.MessageHandlerOptions.AutoComplete = true;

                IServiceBusBusConfiguration busConfiguration = context.Container.GetRequiredService <IServiceBusBusConfiguration>();

                var busFactoryConfigurator = new ServiceBusBusFactoryConfigurator(busConfiguration);

                busFactoryConfigurator.Host(options.Value.ConnectionString);
                busFactoryConfigurator.UseServiceBusMessageScheduler();

                configure?.Invoke(busFactoryConfigurator);

                return(busFactoryConfigurator.Build());
            });
        }
コード例 #14
0
        public PublishTransportProvider(IServiceBusBusConfiguration busConfiguration)
        {
            _busConfiguration = busConfiguration;

            _publishTopology = _busConfiguration.Topology.Publish;
        }
コード例 #15
0
 public ServiceBusHostConfiguration(IServiceBusBusConfiguration busConfiguration, ServiceBusHost host)
 {
     _busConfiguration = busConfiguration;
     _host             = host;
 }
コード例 #16
0
 public SendEndpointSendTransportProvider(IServiceBusBusConfiguration busConfiguration)
 {
     _busConfiguration = busConfiguration;
 }
コード例 #17
0
 public ServiceBusSubscriptionEndpointFactory(IServiceBusBusConfiguration configuration, IServiceBusHost host)
 {
     _configuration = configuration;
     _host          = host;
 }
コード例 #18
0
 public ServiceBusReceiveEndpointFactory(IServiceBusBusConfiguration configuration, IServiceBusHost host)
 {
     _configuration = configuration;
     _host          = host;
 }
コード例 #19
0
 public SendEndpointSendTransportProvider(IServiceBusBusConfiguration busConfiguration, Uri hostAddress)
 {
     _busConfiguration = busConfiguration;
     _hostAddress      = hostAddress;
 }
コード例 #20
0
ファイル: ServiceBusHost.cs プロジェクト: zpavic/MassTransit
        public ServiceBusHost(ServiceBusHostSettings settings, IServiceBusHostTopology hostTopology, IServiceBusBusConfiguration busConfiguration)
        {
            Settings = settings;
            Topology = hostTopology;
            var busConfiguration1 = busConfiguration;

            _receiveEndpoints = new ReceiveEndpointCollection();

            RetryPolicy = Retry.CreatePolicy(x =>
            {
                x.Ignore <MessagingEntityNotFoundException>();
                x.Ignore <MessagingEntityAlreadyExistsException>();
                x.Ignore <MessageNotFoundException>();
                x.Ignore <MessageSizeExceededException>();
                x.Ignore <NoMatchingSubscriptionException>();
                x.Ignore <TransactionSizeExceededException>();

                x.Handle <ServerBusyException>(exception => exception.IsTransient || exception.IsWrappedExceptionTransient());
                x.Handle <MessagingException>(exception => exception.IsTransient || exception.IsWrappedExceptionTransient());
                x.Handle <TimeoutException>();

                x.Interval(5, TimeSpan.FromSeconds(10));
            });

            BasePath = settings.ServiceUri.AbsolutePath.Trim('/');

            var serviceBusRetryPolicy = CreateRetryPolicy(settings);

            MessagingFactoryCache = new MessagingFactoryCache(settings.ServiceUri, CreateMessagingFactorySettings(settings), serviceBusRetryPolicy);
            NamespaceCache        = new NamespaceCache(settings.ServiceUri, CreateNamespaceManagerSettings(settings, serviceBusRetryPolicy));

            NetMessagingFactoryCache = settings.TransportType == TransportType.NetMessaging
                ? MessagingFactoryCache
                : new MessagingFactoryCache(settings.ServiceUri, CreateMessagingFactorySettings(settings, true), serviceBusRetryPolicy);

            _receiveEndpointFactory      = new ServiceBusReceiveEndpointFactory(busConfiguration1, this);
            _subscriptionEndpointFactory = new ServiceBusSubscriptionEndpointFactory(busConfiguration1, this);
        }