public override void Initialize() { NServiceBus.Configure.Component <CorrelationIdMutatorForBackwardsCompatibilityWithV3>(DependencyLifecycle.InstancePerCall); NServiceBus.Configure.Component <MsmqUnitOfWork>(DependencyLifecycle.SingleInstance); NServiceBus.Configure.Component <MsmqDequeueStrategy>(DependencyLifecycle.InstancePerCall) .ConfigureProperty(p => p.PurgeOnStartup, ConfigurePurging.PurgeRequested); var cfg = NServiceBus.Configure.GetConfigSection <MsmqMessageQueueConfig>(); var settings = new MsmqSettings(); if (cfg != null) { settings.UseJournalQueue = cfg.UseJournalQueue; settings.UseDeadLetterQueue = cfg.UseDeadLetterQueue; Logger.Warn(Message); } else { var connectionString = SettingsHolder.Get <string>("NServiceBus.Transport.ConnectionString"); if (connectionString != null) { settings = new MsmqConnectionStringBuilder(connectionString).RetrieveSettings(); } } NServiceBus.Configure.Component <MsmqMessageSender>(DependencyLifecycle.InstancePerCall) .ConfigureProperty(t => t.Settings, settings); NServiceBus.Configure.Component <MsmqQueueCreator>(DependencyLifecycle.InstancePerCall) .ConfigureProperty(t => t.Settings, settings); }
/// <summary> /// Initializes a new instance of <see cref="ConfigureTransport"/>. /// </summary> protected override void Configure(FeatureConfigurationContext context, string connectionString) { new CheckMachineNameForComplianceWithDtcLimitation() .Check(); context.Container.ConfigureComponent<CorrelationIdMutatorForBackwardsCompatibilityWithV3>(DependencyLifecycle.InstancePerCall); context.Container.ConfigureComponent<MsmqUnitOfWork>(DependencyLifecycle.SingleInstance); context.Container.ConfigureComponent<MsmqDequeueStrategy>(DependencyLifecycle.InstancePerCall); var cfg = context.Settings.GetConfigSection<MsmqMessageQueueConfig>(); var settings = new MsmqSettings(); if (cfg != null) { settings.UseJournalQueue = cfg.UseJournalQueue; settings.UseDeadLetterQueue = cfg.UseDeadLetterQueue; Logger.Warn(Message); } else { if (connectionString != null) { settings = new MsmqConnectionStringBuilder(connectionString).RetrieveSettings(); } } context.Container.ConfigureComponent<MsmqMessageSender>(DependencyLifecycle.InstancePerCall) .ConfigureProperty(t => t.Settings, settings) .ConfigureProperty(t => t.SuppressDistributedTransactions, context.Settings.Get<bool>("Transactions.SuppressDistributedTransactions")); context.Container.ConfigureComponent<MsmqQueueCreator>(DependencyLifecycle.InstancePerCall) .ConfigureProperty(t => t.Settings, settings); }
/// <summary> /// Initializes a new instance of <see cref="ConfigureTransport"/>. /// </summary> protected override void Configure(FeatureConfigurationContext context, string connectionString) { new CheckMachineNameForComplianceWithDtcLimitation() .Check(); context.Container.ConfigureComponent <CorrelationIdMutatorForBackwardsCompatibilityWithV3>(DependencyLifecycle.InstancePerCall); context.Container.ConfigureComponent <MsmqUnitOfWork>(DependencyLifecycle.SingleInstance); context.Container.ConfigureComponent <MsmqDequeueStrategy>(DependencyLifecycle.InstancePerCall); var cfg = context.Settings.GetConfigSection <MsmqMessageQueueConfig>(); var settings = new MsmqSettings(); if (cfg != null) { settings.UseJournalQueue = cfg.UseJournalQueue; settings.UseDeadLetterQueue = cfg.UseDeadLetterQueue; Logger.Warn(Message); } else { if (connectionString != null) { settings = new MsmqConnectionStringBuilder(connectionString).RetrieveSettings(); } } context.Container.ConfigureComponent <MsmqMessageSender>(DependencyLifecycle.InstancePerCall) .ConfigureProperty(t => t.Settings, settings) .ConfigureProperty(t => t.SuppressDistributedTransactions, context.Settings.Get <bool>("Transactions.SuppressDistributedTransactions")); context.Container.ConfigureComponent <MsmqQueueCreator>(DependencyLifecycle.InstancePerCall) .ConfigureProperty(t => t.Settings, settings); }
public void Should_correctly_parse_full_connection_string_with_false() { const string connectionString = "deadLetter=false;journal=false;cacheSendConnection=false;useTransactionalQueues=false;timeToReachQueue=00:00:30"; var parser = new MsmqConnectionStringBuilder(connectionString); var settings = parser.RetrieveSettings(); Assert.AreEqual(false, settings.UseDeadLetterQueue); Assert.AreEqual(false, settings.UseJournalQueue); Assert.AreEqual(false, settings.UseConnectionCache); Assert.AreEqual(false, settings.UseTransactionalQueues); Assert.AreEqual(TimeSpan.FromSeconds(30), settings.TimeToReachQueue); }
public void Should_correctly_parse_full_connection_string() { const string connectionString = "deadLetter=true;journal=true;cacheSendConnection=true;useTransactionalQueues=true;timeToReachQueue=00:00:30"; var parser = new MsmqConnectionStringBuilder(connectionString); var settings = parser.RetrieveSettings(); Assert.AreEqual(true, settings.UseDeadLetterQueue); Assert.AreEqual(true, settings.UseJournalQueue); Assert.AreEqual(true, settings.UseConnectionCache); Assert.AreEqual(true, settings.UseTransactionalQueues); Assert.AreEqual(TimeSpan.FromSeconds(30), settings.TimeToReachQueue); }