private static void MetricsConfig(this EndpointConfiguration endpointConfiguration, NServiceBusSettings serviceBusSettings) { var metrics = endpointConfiguration.EnableMetrics(); metrics.SendMetricDataToServiceControl(serviceBusSettings.SendMetricDataToServiceControl, TimeSpan.FromMilliseconds(serviceBusSettings.MetricsIntervalInMilliseconds)); }
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)); }
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); });
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); }
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)); }); }