Exemple #1
0
        private static void MetricsConfig(this EndpointConfiguration endpointConfiguration,
                                          NServiceBusSettings serviceBusSettings)
        {
            var metrics = endpointConfiguration.EnableMetrics();

            metrics.SendMetricDataToServiceControl(serviceBusSettings.SendMetricDataToServiceControl,
                                                   TimeSpan.FromMilliseconds(serviceBusSettings.MetricsIntervalInMilliseconds));
        }
Exemple #2
0
        private static void PersistenceConfig(this EndpointConfiguration endpointConfiguration,
                                              HostBuilderContext hostContext, NServiceBusSettings serviceBusSettings, string connectionName)
        {
            var persistence = endpointConfiguration.UsePersistence <SqlPersistence>();

            persistence.SqlDialect <SqlDialect.MsSqlServer>();
            persistence.ConnectionBuilder(
                connectionBuilder: () =>
            {
                return(new SqlConnection(hostContext.Configuration.GetConnectionString(connectionName)));
            });

            var subscriptions = persistence.SubscriptionSettings();

            subscriptions.CacheFor(TimeSpan.FromMinutes(serviceBusSettings.SubscriptionCacheForInMinutes));
        }
Exemple #3
0
 public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args)
 .ConfigureServices((context, container) => {
     container.AddSingleton <IEventsFactory, EventsFactory>();
     container.AddScoped <IPortfolioHistoryRepository, PortfolioHistoryRepository>();
     container.AddDbContext <PortfolioHistoryContext>(options => options.UseSqlServer(context.Configuration.GetValue <string>(ConfigurationConstants.HistoryConnectionString),
                                                                                      b => b.MigrationsAssembly("FundAggregator.Portfolio.Service")));;
 })
 .UseNServiceBus(context => {
     var nServiceBusConfigurations = new NServiceBusSettings()
     {
         EndpointName = context.Configuration.GetValue <string>(ConfigurationConstants.ServiceName),
         PersistenceConnectionString = context.Configuration.GetValue <string>(ConfigurationConstants.PersistenceConnectionString)
     };
     var endpointConfiguration = NServiceBusConfiguration.ConfigureEndpoint(nServiceBusConfigurations);
     return(endpointConfiguration);
 });
Exemple #4
0
        private static void TransportConfig(this EndpointConfiguration endpointConfiguration,
                                            HostBuilderContext hostContext, NServiceBusSettings serviceBusSettings,
                                            string connectionName, Type messageTypeRoute = null, Type messageTypePublisher = null)
        {
            var transport = endpointConfiguration.UseTransport <SqlServerTransport>();

            transport.ConnectionString(hostContext.Configuration.GetConnectionString(connectionName));
            transport.Transactions(TransportTransactionMode.SendsAtomicWithReceive);

            if (messageTypeRoute != null && !string.IsNullOrEmpty(serviceBusSettings.RouteToEndpoint))
            {
                transport.Routing().RouteToEndpoint(messageTypeRoute, serviceBusSettings.RouteToEndpoint);
            }

            // Previous versions
            //if (messageTypePublisher != null && !string.IsNullOrEmpty(serviceBusSettings.SubscribeToEndpoint))
            //    transport.Routing().RegisterPublisher(messageTypePublisher, serviceBusSettings.SubscribeToEndpoint);
        }
Exemple #5
0
        private static void RetryConfig(this EndpointConfiguration endpointConfiguration,
                                        NServiceBusSettings serviceBusSettings)
        {
            var recoverability = endpointConfiguration.Recoverability();

            recoverability.Immediate(
                immediate =>
            {
                immediate.NumberOfRetries(serviceBusSettings.NumberOfImmediateRetries);
            });

            recoverability.Delayed(
                delayed =>
            {
                delayed.NumberOfRetries(serviceBusSettings.NumberOfDelayedRetries);
                delayed.TimeIncrease(TimeSpan.FromSeconds(serviceBusSettings.RecoverabilityTimeIncreaseInSeconds));
            });
        }