예제 #1
0
        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();
            }
        }
예제 #2
0
        /// <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);
            }
        }
예제 #4
0
        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);
            }
        }
예제 #5
0
 /// <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>();
 }
예제 #9
0
 /// <summary>
 /// Use in-memory fault management.
 /// </summary>
 public static void DiscardFailedMessagesInsteadOfSendingToErrorQueue(this BusConfiguration config)
 {
     config.EnableFeature <InMemoryFaultManager>();
     config.DisableFeature <ForwarderFaultManager>();
 }