public void Run(string username) { var configuration = new BusConfiguration(); configuration.AssembliesToScan(AllAssemblies.Except("ServiceControl.Plugin")); configuration.EnableInstallers(username); var containerBuilder = new ContainerBuilder(); var loggingSettings = new LoggingSettings(settings.ServiceName); containerBuilder.RegisterInstance(loggingSettings); var documentStore = new EmbeddableDocumentStore(); containerBuilder.RegisterInstance(documentStore).As <IDocumentStore>().ExternallyOwned(); containerBuilder.RegisterInstance(settings); containerBuilder.RegisterModule <MigrationsModule>(); using (documentStore) using (var container = containerBuilder.Build()) using (NServiceBusFactory.Create(settings, container, null, documentStore, configuration)) { container.Resolve <MigrationsManager>().ApplyMigrations(); } }
public void Should_exclude_by_name_without_extension() { var found = AllAssemblies.Except("rhino.mocks").ToArray(); Assert.False( found.Any(a => a.GetName().Name == "Rhino.Mocks")); }
public void Run(string username) { var configuration = new BusConfiguration(); configuration.AssembliesToScan(AllAssemblies.Except("ServiceControl.Plugin")); configuration.EnableInstallers(username); if (settings.SkipQueueCreation) { log.Info("Skipping queue creation"); configuration.DoNotCreateQueues(); } var containerBuilder = new ContainerBuilder(); var domainEvents = new DomainEvents(); containerBuilder.RegisterInstance(domainEvents).As <IDomainEvents>(); var loggingSettings = new LoggingSettings(settings.ServiceName); containerBuilder.RegisterInstance(loggingSettings); var documentStore = new EmbeddableDocumentStore(); containerBuilder.RegisterInstance(documentStore).As <IDocumentStore>().ExternallyOwned(); containerBuilder.RegisterInstance(settings); using (documentStore) using (var container = containerBuilder.Build()) using (NServiceBusFactory.Create(settings, container, null, documentStore, configuration, false)) { } }
private void Initialize() { var loggingSettings = new LoggingSettings(settings.ServiceName); ConfigureLogging(loggingSettings); // .NET default limit is 10. RavenDB in conjunction with transports that use HTTP exceeds that limit. ServicePointManager.DefaultConnectionLimit = settings.HttpDefaultConnectionLimit; timeKeeper = new TimeKeeper(); var containerBuilder = new ContainerBuilder(); containerBuilder.RegisterType <MessageStreamerConnection>().SingleInstance(); containerBuilder.RegisterInstance(loggingSettings); containerBuilder.RegisterInstance(settings); containerBuilder.RegisterInstance(notifier).ExternallyOwned(); containerBuilder.RegisterInstance(timeKeeper).ExternallyOwned(); containerBuilder.RegisterType <SubscribeToOwnEvents>().PropertiesAutowired().SingleInstance(); containerBuilder.RegisterInstance(documentStore).As <IDocumentStore>().ExternallyOwned(); if (configuration == null) { configuration = new BusConfiguration(); configuration.AssembliesToScan(AllAssemblies.Except("ServiceControl.Plugin")); } container = containerBuilder.Build(); Startup = new Startup(container); DomainEvents.Container = container; }
void RunAndWait(HostArguments args) { var busConfiguration = new BusConfiguration(); busConfiguration.AssembliesToScan(AllAssemblies.Except("ServiceControl.Plugin")); var settings = new Settings { IngestAuditMessages = false, IngestErrorMessages = false }; var tokenSource = new CancellationTokenSource(); var loggingSettings = new LoggingSettings(settings.ServiceName, LogLevel.Info, LogLevel.Info); var bootstrapper = new Bootstrapper(() => { tokenSource.Cancel(); }, settings, busConfiguration, loggingSettings); var bus = (UnicastBus)bootstrapper.Start().Bus; Console.CancelKeyPress += (sender, eventArgs) => { tokenSource.Cancel(); }; var importTask = bus.Builder.Build <ImportFailedAudits>().Run(tokenSource); Console.WriteLine("Press Ctrl+C to exit"); importTask.GetAwaiter().GetResult(); }
public ScanningPublicApi() { IEnumerable <Assembly> myListOfAssemblies = null; Assembly assembly2 = null; Assembly assembly1 = null; IEnumerable <Type> myTypes = null; #region ScanningDefault Configure.With(); #endregion #region ScanningListOfAssemblies Configure.With(myListOfAssemblies); // or Configure.With(assembly1, assembly2); #endregion #region ScanningCustomDirectory Configure.With(@"c:\my-custom-dir"); #endregion #region ScanningListOfTypes Configure.With(myTypes); #endregion #region ScanningExcludeByName Configure.With(AllAssemblies.Except("MyAssembly1.dll").And("MyAssembly2.dll")); #endregion }
static void InstallInfrastructure() { Configure.With(AllAssemblies.Except("NServiceBus.Host32.exe")); var installer = new Installer <Installation.Environments.Windows>(WindowsIdentity.GetCurrent()); installer.InstallInfrastructureInstallers(); }
public ScanningPublicApi() { IEnumerable <Assembly> myListOfAssemblies = null; Assembly assembly2 = null; Assembly assembly1 = null; IEnumerable <Type> myTypes = null; #region ScanningDefault var configuration = new BusConfiguration(); #endregion #region ScanningListOfAssemblies configuration.AssembliesToScan(myListOfAssemblies); #endregion #region ScanningParamArrayOfAssemblies configuration.AssembliesToScan(assembly1, assembly2); #endregion #region ScanningCustomDirectory configuration.ScanAssembliesInDirectory(@"c:\my-custom-dir"); #endregion #region ScanningListOfTypes configuration.TypesToScan(myTypes); #endregion #region ScanningExcludeByName configuration.AssembliesToScan(AllAssemblies.Except("MyAssembly.dll").And("MyAssembly.dll")); #endregion #region ScanningIncludeByPattern configuration.AssembliesToScan(AllAssemblies.Matching("MyCompany.").And("SomethingElse")); #endregion #region ScanningMixingIncludeAndExclude configuration.AssembliesToScan(AllAssemblies.Matching("MyCompany.").Except("BadAssembly.dll")); #endregion }
public static IStartableBus Create(Settings.Settings settings, IContainer container, Action onCriticalError, IDocumentStore documentStore, BusConfiguration configuration, bool isRunningAcceptanceTests) { if (configuration == null) { configuration = new BusConfiguration(); configuration.AssembliesToScan(AllAssemblies.Except("ServiceControl.Plugin")); } // HACK: Yes I know, I am hacking it to pass it to RavenBootstrapper! configuration.GetSettings().Set("ServiceControl.EmbeddableDocumentStore", documentStore); configuration.GetSettings().Set("ServiceControl.Settings", settings); configuration.GetSettings().Set("ServiceControl.MarkerFileService", new MarkerFileService(new LoggingSettings(settings.ServiceName).LogPath)); // Disable Auditing for the service control endpoint configuration.DisableFeature <Audit>(); configuration.DisableFeature <AutoSubscribe>(); configuration.DisableFeature <SecondLevelRetries>(); configuration.DisableFeature <TimeoutManager>(); configuration.DisableFeature <Outbox>(); configuration.UseSerialization <JsonSerializer>(); configuration.Transactions() .DisableDistributedTransactions() .DoNotWrapHandlersExecutionInATransactionScope(); configuration.ScaleOut().UseSingleBrokerQueue(); var transportType = DetermineTransportType(settings); configuration.Conventions().DefiningEventsAs(t => typeof(IEvent).IsAssignableFrom(t) || IsExternalContract(t)); configuration.EndpointName(settings.ServiceName); if (!isRunningAcceptanceTests) { configuration.ReportCustomChecksTo(settings.ServiceName); } configuration.UseContainer <AutofacBuilder>(c => c.ExistingLifetimeScope(container)); var transport = configuration.UseTransport(transportType); if (settings.TransportConnectionString != null) { transport.ConnectionString(settings.TransportConnectionString); } configuration.DefineCriticalErrorAction((s, exception) => { onCriticalError(); }); if (Environment.UserInteractive && Debugger.IsAttached) { configuration.EnableInstallers(); } return(Bus.Create(configuration)); }
public Configure GetConfiguration(RunDescriptor runDescriptor, EndpointConfiguration endpointConfiguration, IConfigurationSource configSource) { Configure.Serialization.Xml(); return(Configure.With(AllAssemblies.Except(Assembly.GetExecutingAssembly().FullName)) .DefaultBuilder() .UseTransport <Msmq>() .UnicastBus()); }
void CustomConfigOverrides(BusConfiguration busConfiguration) { #region 4to5CustomConfigOverrides busConfiguration.AssembliesToScan(AllAssemblies.Except("NotThis.dll")); busConfiguration.Conventions().DefiningEventsAs(type => type.Name.EndsWith("Event")); busConfiguration.EndpointName("MyEndpointName"); #endregion }
void ScanningExcludeByName() { #region ScanningExcludeByName var excludesBuilder = AllAssemblies .Except("MyAssembly1.dll") .And("MyAssembly2.dll"); Configure.With(excludesBuilder); #endregion }
protected override void OnStart(string[] args) { var busConfiguration = new BusConfiguration(); busConfiguration.AssembliesToScan(AllAssemblies.Except("ServiceControl.Plugin")); var loggingSettings = new LoggingSettings(ServiceName); bootstrapper = new Bootstrapper(Stop, new Settings(ServiceName), busConfiguration, loggingSettings); bootstrapper.Start(); }
void ScanningExcludeByName(BusConfiguration busConfiguration) { #region ScanningExcludeByName var excludesBuilder = AllAssemblies .Except("MyAssembly1.dll") .And("MyAssembly2.dll"); busConfiguration.AssembliesToScan(excludesBuilder); #endregion }
public void Init() { Console.SetWindowSize(70, 30); SetWindowPos(ConsolePtr, 0, 10, 420, 0, 0, SwpNosize); Configure.With(AllAssemblies.Except("Raven.Backup.exe")) .DefaultBuilder() .DefiningCommandsAs(t => t.Namespace != null && t.Namespace.StartsWith("SiriusCyberneticsCorp.InternalMessages.Complaint")) .DefiningEventsAs(t => t.Namespace != null && t.Namespace.StartsWith("SiriusCyberneticsCorp.Contract.Facility")) .JsonSerializer(); }
void ScanningExcludeByName() { #region ScanningExcludeByName var allAssemblies = AllAssemblies .Except("MyAssembly1.dll") .And("MyAssembly2.dll"); Configure.With(allAssemblies); #endregion }
public void Simple() { #region CustomConfigOverrides Configure configure = Configure.With(AllAssemblies.Except("NotThis.dll")) .DefaultBuilder(); configure.DefineEndpointName("MyEndpointName"); configure.DefiningEventsAs(type => type.Name.EndsWith("Event")); #endregion }
public void Register(IWindsorContainer container) { Configure.With(AllAssemblies.Except("sybdrvado20.dll")) .CastleWindsor250Builder(container) .XmlSerializer(); container.Register( AllTypes.FromAssemblyNamed("SqlMonitor.DataServices").Pick() .WithService.FirstInterface()); container.Register(Component.For <SmtpClient>().Instance(new SmtpClient())); }
public void Simple() { #region CustomConfigOverrides BusConfiguration busConfiguration = new BusConfiguration(); busConfiguration.AssembliesToScan(AllAssemblies.Except("NotThis.dll")); busConfiguration.Conventions().DefiningEventsAs(type => type.Name.EndsWith("Event")); busConfiguration.EndpointName("MyEndpointName"); #endregion }
public void ScanningExcludeByName() { BusConfiguration busConfiguration = new BusConfiguration(); #region ScanningExcludeByName IExcludesBuilder excludesBuilder = AllAssemblies .Except("MyAssembly1.dll") .And("MyAssembly2.dll"); busConfiguration.AssembliesToScan(excludesBuilder); #endregion }
public void Simple() { #region CustomConfigOverridesV5 var configure = Configure.With(b => { b.AssembliesToScan(AllAssemblies.Except("NotThis.dll")); b.Conventions(c => c.DefiningEventsAs(type => type.Name.EndsWith("Event"))); b.EndpointName("MyEndpointName"); b.EndpointVersion("1.2.3"); }); #endregion }
void CustomConfigOverrides() { #region 4to5CustomConfigOverrides var configure = Configure.With(AllAssemblies.Except("NotThis.dll")); configure.DefaultBuilder(); configure.DefineEndpointName("MyEndpointName"); configure.DefiningEventsAs(type => { return(type.Name.EndsWith("Event")); }); #endregion }
private static IEnumerable <Assembly> AssembliesToScan() { var result = AllAssemblies.Except(AssembliesToSkip()[0]); AssembliesToSkip().Skip(1).ForEach(x => result.And(x)); var excludedAssemblyNames = ObjectFactory.TryGetInstance <IExcludedAssemblyNamesSource>(); if (excludedAssemblyNames != null) { result = excludedAssemblyNames.Aggregate(result, (current, excludedAssemblyName) => current.And(excludedAssemblyName)); } return(result.ToArray()); }
public void Install(IWindsorContainer container, IConfigurationStore store) { container.Register(Component.For <ISendOnlyBus>().UsingFactoryMethod((kernel, componentModel) => { var configuration = new BusConfiguration(); configuration.EndpointName("CleanAir.UI"); configuration.EnableInstallers(); configuration.Transactions().DisableDistributedTransactions(); configuration.UseSerialization <NServiceBus.JsonSerializer>(); configuration.UseTransport <RabbitMQTransport>(); configuration.UsePersistence <InMemoryPersistence>(); configuration.AssembliesToScan(AllAssemblies.Except("ClearScript")); return(Bus.CreateSendOnly(configuration)); })); }
void ScanningExcludeTypes(BusConfiguration busConfiguration) { #region ScanningExcludeTypes var allTypes = from a in AllAssemblies.Except("Dummy") from t in a.GetTypes() select t; var allowedTypesToScan = allTypes .Where(t => t != typeof(GenericHandler)) .ToList(); busConfiguration.TypesToScan(allowedTypesToScan); #endregion }
public static BusConfiguration CreateAzureBusConfiguration(string azureSBConnection, bool useOutbox, bool disableTx) { if (disableTx && useOutbox) { throw new ArgumentException("Cannot use Outbox when transactions are disabled"); } BusConfiguration busConfiguration = CreateAmbientTxConfiguration(); if (useOutbox) { busConfiguration.EnableOutbox(); Console.WriteLine("Default Configuration overridden: Using Outbox"); } if (disableTx) { // A validation error will occur if NServiceBus detects SQL Transport, even if it not being used. // Explicitly remove NServiceBus SQL Transport from the assembly scanning busConfiguration.Transactions().DisableDistributedTransactions(); IExcludesBuilder excludesBuilder = AllAssemblies .Except("NServiceBus.Transports.SQLServer.dll"); busConfiguration.AssembliesToScan(excludesBuilder); // Using different databases only work when transaction are disabled ConfigureHibernate(busConfiguration, DB_SHARED_CONNECTION); Console.WriteLine("Default Configuration overridden: Using Transport transaction only"); } else { ConfigureHibernate(busConfiguration, DB_BUSINESS_CONNECTION); busConfiguration.Transactions().Enable().EnableDistributedTransactions(); Console.WriteLine("Default Configuration: Using Ambient Transactions"); } busConfiguration.UseTransport <AzureServiceBusTransport>() .ConnectionString(azureSBConnection); Console.WriteLine("Default Configuration overridden: Using Azure Tranport"); return(busConfiguration); }
public ScanningPublicApiV4() { IEnumerable <Assembly> myListOfAssemblies = null; Assembly assembly2 = null; Assembly assembly1 = null; IEnumerable <Type> myTypes = null; #region ScanningDefaultV4 Configure.With(); #endregion #region ScanningListOfAssembliesV4 Configure.With(myListOfAssemblies); #endregion #region ScanningParamArrayOfAssembliesV4 Configure.With(assembly1, assembly2); #endregion #region ScanningCustomDirectoryV4 Configure.With(@"c:\my-custom-dir"); #endregion #region ScanningListOfTypesV4 Configure.With(myTypes); #endregion #region ScanningExcludeByNameV4 Configure.With(AllAssemblies.Except("MyAssembly.dll").And("MyAssembly.dll")); #endregion #region ScanningIncludeByPatternV4 Configure.With(AllAssemblies.Matching("MyCompany.").And("SomethingElse")); #endregion #region ScanningMixingIncludeAndExcludeV4 Configure.With(AllAssemblies.Matching("MyCompany.").Except("BadAssembly.dll")); #endregion }
private IBus ConfigureNServiceBus() { var configuration = new BusConfiguration(); configuration.AssembliesToScan(AllAssemblies.Except("MediaLoanLIbrary.Fines.Common")); configuration.EndpointName("IntegrationTesting"); configuration.DisableFeature <Sagas>(); configuration.DisableFeature <TimeoutManager>(); configuration.DisableFeature <AutoSubscribe>(); configuration.DisableFeature <InMemorySubscriptionPersistence>(); configuration.DisableFeature <StorageDrivenPublishing>(); configuration.UsePersistence <InMemoryPersistence>(); configuration.PurgeOnStartup(true); configuration.Conventions() .DefiningCommandsAs(type => UnobtrusiveMessageConventions.CommandsDefinition(type) || (UnobtrusiveMessageConventions.EventsDefinition(type) && type.Namespace.Contains(".Loans."))) .DefiningEventsAs(type => UnobtrusiveMessageConventions.EventsDefinition(type) && !type.Namespace.Contains(".Loans.")); configuration.EnableInstallers(); return(Bus.Create(configuration).Start()); }
public static IBus Setup(ILifetimeScope container) { LogManager.Use <DefaultFactory>(); var configuration = new BusConfiguration(); configuration.EndpointName("APIComparer.Website"); configuration.UseContainer <AutofacBuilder>(x => x.ExistingLifetimeScope(container)); configuration.AssembliesToScan(AllAssemblies.Except("Microsoft.Windows.Azure.Storage")); configuration.UseTransport <AzureStorageQueueTransport>() .ConnectionString(AzureEnvironment.GetConnectionString); configuration.UsePersistence <AzureStoragePersistence>(); configuration.DisableFeature <SecondLevelRetries>(); configuration.DisableFeature <Sagas>(); configuration.DisableFeature <TimeoutManager>(); configuration.EnableInstallers(); return(Bus.Create(configuration).Start()); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); var configuration = new BusConfiguration(); configuration.EndpointName("web"); configuration.UseTransport <MsmqTransport>(); configuration.UseSerialization <JsonSerializer>(); configuration.UsePersistence <InMemoryPersistence>(); configuration.AssembliesToScan(AllAssemblies.Except("Razor")); configuration .Conventions() .DefiningCommandsAs(type => FilterByName(type, "Command")) .DefiningEventsAs(type => FilterByName(type, "Event")); Bus = NServiceBus.Bus.CreateSendOnly(configuration); }