protected override void Configure(BusConfiguration config) { config.EnableFeature <SqsTransportFeature>(); config.EnableFeature <MessageDrivenSubscriptions>(); if (!config.GetSettings().UseSqsDeferral()) { config.EnableFeature <TimeoutManagerBasedDeferral>(); config.GetSettings().EnableFeatureByDefault <TimeoutManager>(); } config.GetSettings().EnableFeatureByDefault <StorageDrivenPublishing>(); //enable the outbox unless the users hasn't disabled it if (config.GetSettings().GetOrDefault <bool>(typeof(Features.Outbox).FullName)) { config.EnableOutbox(); } }
/// <summary> /// Enables the outbox feature /// </summary> public static OutboxSettings EnableOutbox(this BusConfiguration config) { var outboxSettings = new OutboxSettings(config.Settings); config.Transactions() .DisableDistributedTransactions() .DoNotWrapHandlersExecutionInATransactionScope(); config.EnableFeature <Features.Outbox>(); return(outboxSettings); }
/// <summary> /// Configure the distributor to run on this endpoint /// </summary> /// <param name="config"></param> /// <param name="withWorker"><value>true</value> if this endpoint should enlist as a worker, otherwise <value>false</value>. Default is <value>true</value>.</param> public static void RunMSMQDistributor(this BusConfiguration config, bool withWorker = true) { config.EnableFeature <Distributor.MSMQ.Distributor>(); if (withWorker) { config.GetSettings().Set("Distributor.WithWorker", true); EnlistWithMSMQDistributor(config); } }
public static void TweakConfigurationBuilder(IConfigureThisEndpoint specifier, BusConfiguration config) { if (specifier is AsA_Worker) { config.Transactions().Enable(); config.EnableFeature <Features.Sagas>(); } Type transportDefinitionType; if (TryGetTransportDefinitionType(specifier, out transportDefinitionType)) { config.UseTransport(transportDefinitionType); } }
/// <summary> /// Enables the NServiceBus specific performance counters with a specific EndpointSLA. /// </summary> public static void EnableSLAPerformanceCounter(this BusConfiguration config) { config.EnableFeature <SLAMonitoring>(); }
/// <summary> /// Enables the NServiceBus specific performance counters. /// </summary> public static void EnableCriticalTimePerformanceCounter(this BusConfiguration config) { config.EnableFeature <CriticalTimeMonitoring>(); }
/// <summary> /// Enables the given feature /// </summary> public static void EnableFeature <T>(this BusConfiguration config) where T : Feature { config.EnableFeature(typeof(T)); }
/// <summary> /// Enlist Worker with Master node defined in the config. /// </summary> public static void EnlistWithMSMQDistributor(this BusConfiguration config) { config.EnableFeature <Distributor.MSMQ.WorkerNode>(); }
/// <summary> /// Use in-memory fault management. /// </summary> public static void DiscardFailedMessagesInsteadOfSendingToErrorQueue(this BusConfiguration config) { config.EnableFeature <InMemoryFaultManager>(); config.DisableFeature <ForwarderFaultManager>(); }