public static void TweakConfigurationBuilder(IConfigureThisEndpoint specifier, BusConfiguration config) { if (specifier is AsA_Server) { config.ScaleOut().UseSingleBrokerQueue(); } else if (specifier is AsA_Client) { config.PurgeOnStartup(true); config.Transactions().Disable(); config.DisableFeature <Features.SecondLevelRetries>(); config.DisableFeature <StorageDrivenPublishing>(); config.DisableFeature <TimeoutManager>(); } Type transportDefinitionType; if (TryGetTransportDefinitionType(specifier, out transportDefinitionType)) { config.UseTransport(transportDefinitionType); } }
/// <summary> /// Disables the given feature /// </summary> public static void DisableFeature <T>(this BusConfiguration config) where T : Feature { config.DisableFeature(typeof(T)); }
/// <summary> /// Use in-memory fault management. /// </summary> public static void DiscardFailedMessagesInsteadOfSendingToErrorQueue(this BusConfiguration config) { config.EnableFeature <InMemoryFaultManager>(); config.DisableFeature <ForwarderFaultManager>(); }