diff --git a/src/hosting/NServiceBus.Hosting.Windows/Profiles/Handlers/IntegrationProfileHandler.cs b/src/hosting/NServiceBus.Hosting.Windows/Profiles/Handlers/IntegrationProfileHandler.cs index ebce98f92d4..01cf0aaeaab 100644 --- a/src/hosting/NServiceBus.Hosting.Windows/Profiles/Handlers/IntegrationProfileHandler.cs +++ b/src/hosting/NServiceBus.Hosting.Windows/Profiles/Handlers/IntegrationProfileHandler.cs @@ -1,7 +1,9 @@ using System; using NServiceBus.Config; +using NServiceBus.Faults; using NServiceBus.Hosting.Profiles; using NServiceBus.ObjectBuilder; +using NServiceBus.Unicast.Subscriptions; using NServiceBus.Unicast.Subscriptions.Msmq; using log4net; @@ -15,7 +17,8 @@ void IHandleProfile.ProfileActivated() //Configure.Instance // .NHibernateSagaPersisterWithSQLiteAndAutomaticSchemaGeneration(); - Configure.Instance.MessageForwardingInCaseOfFault(); + if (!Configure.Instance.Configurer.HasComponent()) + Configure.Instance.MessageForwardingInCaseOfFault(); AppDomain.CurrentDomain.UnhandledException += (o, e) => { @@ -27,12 +30,15 @@ void IHandleProfile.ProfileActivated() if (Config is AsA_Publisher) { - if (Configure.GetConfigSection() == null) - Configure.Instance.Configurer.ConfigureComponent( - DependencyLifecycle.SingleInstance) - .ConfigureProperty(s => s.Queue, Program.EndpointId + "_subscriptions"); - else - Configure.Instance.MsmqSubscriptionStorage(); + if (!Configure.Instance.Configurer.HasComponent()) + { + if (Configure.GetConfigSection() == null) + Configure.Instance.Configurer.ConfigureComponent( + DependencyLifecycle.SingleInstance) + .ConfigureProperty(s => s.Queue, Program.EndpointId + "_subscriptions"); + else + Configure.Instance.MsmqSubscriptionStorage(); + } } } diff --git a/src/hosting/NServiceBus.Hosting.Windows/Profiles/Handlers/LiteProfileHandler.cs b/src/hosting/NServiceBus.Hosting.Windows/Profiles/Handlers/LiteProfileHandler.cs index 3c750ffda56..f10e2ed8a3b 100644 --- a/src/hosting/NServiceBus.Hosting.Windows/Profiles/Handlers/LiteProfileHandler.cs +++ b/src/hosting/NServiceBus.Hosting.Windows/Profiles/Handlers/LiteProfileHandler.cs @@ -1,19 +1,25 @@ using System; using NServiceBus.Config; -using NServiceBus.Hosting.Profiles; - +using NServiceBus.Faults; +using NServiceBus.Hosting.Profiles; +using NServiceBus.Saga; +using NServiceBus.Unicast.Subscriptions; + namespace NServiceBus.Hosting.Windows.Profiles.Handlers { internal class LiteProfileHandler : IHandleProfile, IWantTheEndpointConfig, IWantToRunWhenConfigurationIsComplete { void IHandleProfile.ProfileActivated() { - Configure.Instance.InMemorySagaPersister(); - - Configure.Instance.InMemoryFaultManagement(); + if (!Configure.Instance.Configurer.HasComponent()) + Configure.Instance.InMemorySagaPersister(); + + if (!Configure.Instance.Configurer.HasComponent()) + Configure.Instance.InMemoryFaultManagement(); if (Config is AsA_Publisher) - Configure.Instance.InMemorySubscriptionStorage(); + if (!Configure.Instance.Configurer.HasComponent()) + Configure.Instance.InMemorySubscriptionStorage(); } public void Run() diff --git a/src/hosting/NServiceBus.Hosting.Windows/Profiles/Handlers/ProductionProfileHandler.cs b/src/hosting/NServiceBus.Hosting.Windows/Profiles/Handlers/ProductionProfileHandler.cs index 98d6c8f4427..2f13512e4d9 100644 --- a/src/hosting/NServiceBus.Hosting.Windows/Profiles/Handlers/ProductionProfileHandler.cs +++ b/src/hosting/NServiceBus.Hosting.Windows/Profiles/Handlers/ProductionProfileHandler.cs @@ -1,4 +1,5 @@ -using NServiceBus.Hosting.Profiles; +using NServiceBus.Faults; +using NServiceBus.Hosting.Profiles; namespace NServiceBus.Hosting.Windows.Profiles.Handlers { @@ -10,7 +11,8 @@ void IHandleProfile.ProfileActivated() //Configure.Instance // .RavenSagaPersister(); - Configure.Instance.MessageForwardingInCaseOfFault(); + if (!Configure.Instance.Configurer.HasComponent()) + Configure.Instance.MessageForwardingInCaseOfFault(); //todo //if (Config is AsA_Publisher)