public void TestMethod1() { //Use a single queue Configure.ScaleOut(s => s.UseSingleBrokerQueue()); _startableBus = Configure.With() .DefaultBuilder() .RijndaelEncryptionService() .UseTransport<Msmq>() .UnicastBus() .CreateBus(); Configure.Instance.ForInstallationOn<Windows>().Install(); /** * State sent to Saga * ***/ SendCommand command = new SendCommand(); command.RequestId = new Guid("8b265223-dc9e-4789-a6df-69d19f644ad7"); command.state = MyMessages.MessageParts.StateCodes.SentMySaga; _bus = _startableBus.Start(); _bus.Send(command); }
private void StartBus() { try { var myDocumentStore = new DocumentStore { ConnectionStringName = "EpiFlowDB" }; var busConfiguration = new BusConfiguration(); busConfiguration.EndpointName("EpiFlow.Messages"); busConfiguration.UseContainer<StructureMapBuilder>(c => c.ExistingContainer(_container)); busConfiguration.UseSerialization<JsonSerializer>(); busConfiguration.UsePersistence<RavenDBPersistence>() .UseDocumentStoreForSubscriptions(myDocumentStore) .UseDocumentStoreForSagas(myDocumentStore) .UseDocumentStoreForTimeouts(myDocumentStore); busConfiguration.UseTransport<RabbitMQTransport>(); busConfiguration.DefineCriticalErrorAction(OnCriticalError); busConfiguration.Transactions().DisableDistributedTransactions(); if (Environment.UserInteractive && Debugger.IsAttached) { busConfiguration.EnableInstallers(); } _bus = Bus.Create(busConfiguration); _bus.Start(); } catch (Exception exception) { OnCriticalError("Failed to start the bus.", exception); } }
public static void SendMessages(IStartableBus bus) { var startNew = Stopwatch.StartNew(); while (startNew.ElapsedMilliseconds < 10000) { bus.SendLocal(PersonCreater.Create()); } Console.WriteLine(PersonHandler.count); }
public Result Initialize(RunDescriptor run, EndpointBehaviour endpointBehaviour, IDictionary<Type, string> routingTable, string endpointName) { try { behaviour = endpointBehaviour; scenarioContext = run.ScenarioContext; configuration = ((IEndpointConfigurationFactory)Activator.CreateInstance(endpointBehaviour.EndpointBuilderType)).Get(); configuration.EndpointName = endpointName; if (!string.IsNullOrEmpty(configuration.CustomMachineName)) { NServiceBus.Support.RuntimeEnvironment.MachineNameAction = () => configuration.CustomMachineName; } //apply custom config settings endpointBehaviour.CustomConfig.ForEach(customAction => customAction(config)); config = configuration.GetConfiguration(run, routingTable); if (scenarioContext != null) { config.Configurer.RegisterSingleton(scenarioContext.GetType(), scenarioContext); scenarioContext.ContextPropertyChanged += scenarioContext_ContextPropertyChanged; } bus = config.CreateBus(); Configure.Instance.ForInstallationOn<Windows>().Install(); Task.Factory.StartNew(() => { while (!stopped) { contextChanged.WaitOne(TimeSpan.FromSeconds(5)); //we spin around each 5 s since the callback mechanism seems to be shaky lock (behaviour) { foreach (var when in behaviour.Whens) { if (executedWhens.Contains(when.Id)) continue; if(when.ExecuteAction(scenarioContext, bus)) executedWhens.Add(when.Id); } } } }); return Result.Success(); } catch (Exception ex) { Logger.Error("Failed to initalize endpoint " + endpointName, ex); return Result.Failure(ex); } }
public bool Start(HostControl hostControl) { Log.Info("Starting bridge service..."); _bus = (IStartableBus) BusFactory.Create(); _bus.Start(); Log.Info("Bridge service started."); return true; }
protected override void DoSetUp() { adapter = new BuiltinContainerAdapter(); stuffToDispose.Add(adapter); startableBus = Configure.With(adapter) .Transport(t => t.UseRabbitMq(ConnectionString, "test-autodelete.input", "error") .ManageSubscriptions() .AutoDeleteInputQueue()) .CreateBus(); }
private static void InitBus() { _startableBus = Configure.With() .DefaultBuilder() .UnicastBus() .CreateBus(); Configure.Instance.ForInstallationOn<Windows>().Install(); _bus = _startableBus.Start(); }
public bool Stop(HostControl hostControl) { Log.Info("Stopping bridge service..."); if (_bus != null) { _bus.Dispose(); _bus = null; } Log.Info("Bridge service stopped."); return true; }
static void Main() { BusConfiguration busConfiguration = new BusConfiguration(); busConfiguration.EndpointName("Samples.UoWWithChildContainers"); #region ContainerConfiguration Container container = new Container(x => { x.For <IDocumentStore>().Use(new DocumentStore { Url = "http://localhost:32076", DefaultDatabase = "Samples.UoWWithChildContainers" } .Initialize()); x.For <IDocumentSession>().Use(c => c.GetInstance <IDocumentStore>().OpenSession()); }); busConfiguration.UseContainer <StructureMapBuilder>(c => c.ExistingContainer(container)); #endregion #region PipelineRegistration busConfiguration.Pipeline.Register <RavenUnitOfWork.Registration>(); #endregion busConfiguration.UsePersistence <InMemoryPersistence>(); busConfiguration.EnableInstallers(); int orderNumber = 1; using (IStartableBus bus = Bus.Create(busConfiguration)) { bus.Start(); Console.Out.WriteLine("Press any key to send a message. Press `q` to quit"); Console.Out.WriteLine("After storing a few orders you can open a browser and view them at http://localhost:32076/studio/index.html#databases/documents?collection=Orders&database=Samples.UoWWithChildContainers"); while (Console.ReadKey().ToString() != "q") { bus.SendLocal(new PlaceOrder { OrderNumber = string.Format("Order-{0}", orderNumber), OrderValue = 100 }); orderNumber++; } } }
// ReSharper disable RedundantNameQualifier public void ConfigureSelfHosted() { #region saga-configure-self-hosted Feature.Enable <Sagas>(); Configure.Serialization.Xml(); IStartableBus bus = NServiceBus.Configure.With() .DefaultBuilder() .UseTransport <Msmq>() .UnicastBus() .RavenSagaPersister() .CreateBus(); #endregion }
public void Simple() { #region saga-configure Configure configure = Configure.With(); configure.DefaultBuilder(); configure.MsmqTransport(); configure.Sagas(); configure.UnicastBus(); configure.RavenSagaPersister(); IStartableBus bus = configure.CreateBus(); #endregion }
public StaticHeaders() { Configure configure = Configure.With(); #region header-static-endpoint using (IStartableBus startableBus = configure.UnicastBus().CreateBus()) { IDictionary <string, string> outgoingHeaders = ((IBus)startableBus).OutgoingHeaders; outgoingHeaders.Add("AllOutgoing", "ValueAllOutgoing"); #endregion } }
public static void Bootstrap() { _startableBus = Configure.With() .DefineEndpointName("Plexis.Sample.WebService.Input") .Log4Net() .DefaultBuilder() .XmlSerializer("http://plexissample.com") .MsmqTransport() .UnicastBus() .CreateBus(); Configure.Instance.ForInstallationOn<Windows>().Install(); _bus = _startableBus.Start(); }
public void Simple() { #region saga-configure Feature.Enable <Sagas>(); Configure configure = Configure.With(); configure.DefaultBuilder(); configure.UseTransport <Msmq>(); configure.UnicastBus(); configure.RavenSagaPersister(); IStartableBus bus = configure.CreateBus(); #endregion }
void StartEndpoint() { #region 5to6-endpoint-start BusConfiguration busConfiguration = new BusConfiguration(); //configure the bus //Start the endpoint IStartableBus startable = Bus.Create(busConfiguration); IBus endpoint = startable.Start(); //Shut down the endpoint endpoint.Dispose(); #endregion }
static void Main() { BusConfiguration busConfiguration = new BusConfiguration(); busConfiguration.EndpointName("Samples.Encryption.Endpoint2"); busConfiguration.RijndaelEncryptionService(); busConfiguration.UsePersistence <InMemoryPersistence>(); IStartableBus startableBus = Bus.Create(busConfiguration); using (startableBus.Start()) { Console.WriteLine("Press any key to exit"); Console.ReadLine(); } }
protected void Application_Start() { GlobalConfiguration.Configure(WebApiConfig.Register); BusConfiguration busConfiguration = new BusConfiguration(); var container = UnityConfig.GetConfiguredContainer(); container.RegisterType(typeof(IHandleMessages <>)); container.RegisterType(typeof(ICommand)); busConfiguration.UseContainer <UnityBuilder>(); busConfiguration.UseContainer <UnityBuilder>(c => c.UseExistingContainer(container)); busConfiguration.UsePersistence <InMemoryPersistence>(); startableBus = NServiceBus.Bus.Create(busConfiguration); bus = startableBus.Start(); }
static void Main() { BusConfiguration busConfiguration = new BusConfiguration(); busConfiguration.EndpointName("Sample.PipelineStream.Sender"); busConfiguration.UseSerialization <JsonSerializer>(); busConfiguration.UsePersistence <InMemoryPersistence>(); #region configure-stream-storage busConfiguration.SetStreamStorageLocation("..\\..\\..\\storage"); #endregion busConfiguration.EnableInstallers(); bus = Bus.Create(busConfiguration); bus.Start(); Run(); }
static void Main() { BusConfiguration busConfiguration = new BusConfiguration(); busConfiguration.EndpointName("Samples.MessageBodyEncryption.Endpoint2"); busConfiguration.UsePersistence <InMemoryPersistence>(); busConfiguration.RegisterMessageEncryptor(); IStartableBus startableBus = Bus.Create(busConfiguration); using (startableBus.Start()) { Console.WriteLine("Press any key to exit"); Console.ReadKey(); } }
static void Main() { BusConfiguration busConfiguration = new BusConfiguration(); busConfiguration.EndpointName("StepByStep.Ordering.Client"); busConfiguration.UseSerialization <JsonSerializer>(); busConfiguration.EnableInstallers(); busConfiguration.UsePersistence <InMemoryPersistence>(); using (IStartableBus startableBus = Bus.Create(busConfiguration)) { var bus = startableBus.Start(); SendOrder(bus); } }
static void Main() { BusConfiguration busConfiguration = new BusConfiguration(); busConfiguration.EndpointName("Sample.DataBus.Sender"); busConfiguration.UseSerialization <JsonSerializer>(); busConfiguration.UseDataBus <FileShareDataBus>().BasePath(BasePath); busConfiguration.UsePersistence <InMemoryPersistence>(); busConfiguration.EnableInstallers(); using (IStartableBus bus = Bus.Create(busConfiguration)) { bus.Start(); Run(bus); } }
void EndpointConfiguration(BusConfiguration busConfiguration) { #region EnableDisableFeatures // enable delayed delivery feature since SLR relies on it busConfiguration.EnableFeature <DelayedDeliveryFeature>(); // this is not required if the feature uses EnableByDefault() busConfiguration.EnableFeature <SecondLevelRetries>(); // we can disable features we won't use busConfiguration.DisableFeature <Sagas>(); IStartableBus bus = Bus.Create(busConfiguration); #endregion }
static void Main() { Console.Title = "Samples.Serialization.Xml"; #region config Configure configure = Configure.With(); configure.Log4Net(); configure.DefineEndpointName("Samples.Serialization.Xml"); configure.DefaultBuilder(); // this is optional since Xml is the default serializer configure.XmlSerializer(); // register the mutator so the the message on the wire is written configure.Configurer .ConfigureComponent <MessageBodyWriter>(DependencyLifecycle.InstancePerCall); #endregion configure.MsmqTransport(); configure.InMemorySagaPersister(); configure.RunTimeoutManagerWithInMemoryPersistence(); configure.InMemorySubscriptionStorage(); using (IStartableBus startableBus = configure.UnicastBus().CreateBus()) { IBus bus = startableBus.Start(() => configure.ForInstallationOn <Windows>().Install()); #region message CreateOrder message = new CreateOrder { OrderId = 9, Date = DateTime.Now, CustomerId = 12, OrderItems = new List <OrderItem> { new OrderItem { ItemId = 6, Quantity = 2 }, new OrderItem { ItemId = 5, Quantity = 4 }, } }; bus.SendLocal(message); #endregion Console.WriteLine("Order Sent"); Console.WriteLine("Press any key to exit"); Console.ReadKey(); } }
private void ConfigureStartableBus() { Configure.ScaleOut(s => s.UseSingleBrokerQueue()); startableBus = Configure.With() .DefaultBuilder() .DefiningMessagesAs(t => t.Namespace == "Messages") .UseTransport<Msmq>() .PurgeOnStartup(true) .UnicastBus() .RunHandlersUnderIncomingPrincipal(false) .RijndaelEncryptionService() .CreateBus(); Configure.Instance.ForInstallationOn<Windows>().Install(); }
static void Main() { BusConfiguration busConfiguration = new BusConfiguration(); busConfiguration.EndpointName("Sample.DataBus.Receiver"); busConfiguration.UseSerialization <JsonSerializer>(); busConfiguration.UseDataBus <FileShareDataBus>().BasePath(BasePath); busConfiguration.UsePersistence <InMemoryPersistence>(); busConfiguration.EnableInstallers(); using (IStartableBus bus = Bus.Create(busConfiguration)) { bus.Start(); Console.WriteLine("\r\nPress enter key to stop program\r\n"); Console.Read(); } }
static void Main() { BusConfiguration busConfiguration = new BusConfiguration(); busConfiguration.EndpointName("Samples.Gateway.RemoteSite"); busConfiguration.EnableInstallers(); busConfiguration.EnableFeature <Gateway>(); busConfiguration.UsePersistence <InMemoryPersistence>(); using (IStartableBus bus = Bus.Create(busConfiguration)) { bus.Start(); Console.WriteLine("\r\nPress any key to stop program\r\n"); Console.ReadKey(); } }
static void Main() { LogManager.Use <DefaultFactory>().Level(LogLevel.Info); BusConfiguration busConfiguration = new BusConfiguration(); busConfiguration.EndpointName("Samples.PubSub.MyPublisher"); busConfiguration.UseSerialization <JsonSerializer>(); busConfiguration.UsePersistence <InMemoryPersistence>(); busConfiguration.EnableInstallers(); IStartableBus startableBus = Bus.Create(busConfiguration); using (IBus bus = startableBus.Start()) { Start(bus); } }
static void Main() { BusConfiguration busConfiguration = new BusConfiguration(); busConfiguration.EndpointName("StepByStep.Ordering.Server"); busConfiguration.UseSerialization <JsonSerializer>(); busConfiguration.EnableInstallers(); busConfiguration.UsePersistence <InMemoryPersistence>(); using (IStartableBus bus = Bus.Create(busConfiguration)) { bus.Start(); Console.WriteLine("To exit press 'Ctrl + C'"); Console.ReadLine(); } }
static void Main() { BusConfiguration busConfiguration = new BusConfiguration(); busConfiguration.EndpointName("Sample.PipelineStream.Receiver"); busConfiguration.UseSerialization <JsonSerializer>(); busConfiguration.UsePersistence <InMemoryPersistence>(); busConfiguration.SetStreamStorageLocation("..\\..\\..\\storage"); busConfiguration.EnableInstallers(); using (IStartableBus bus = Bus.Create(busConfiguration)) { bus.Start(); Console.WriteLine("\r\nPress enter key to stop program\r\n"); Console.Read(); } }
private static void Main() { BusConfiguration busConfiguration = new BusConfiguration(); busConfiguration.EndpointName("Samples.CustomChecks.Monitor3rdParty"); busConfiguration.UseSerialization <JsonSerializer>(); busConfiguration.EnableInstallers(); busConfiguration.UsePersistence <InMemoryPersistence>(); using (IStartableBus bus = Bus.Create(busConfiguration)) { bus.Start(); Console.WriteLine("\r\nPress any key to stop program\r\n"); Console.ReadKey(); } }
void Callbacks() { #region sqlserver-config-callbacks 2 BusConfiguration busConfiguration = new BusConfiguration(); IStartableBus bus = Bus.Create(busConfiguration); ICallback callback = bus.Send(new Request()); callback.Register(ProcessResponse); #endregion #region sqlserver-config-callbacks-reply 2 bus.Return(42); #endregion }
protected void Application_BeginRequest(object sender, EventArgs e) { if(_configure == null) _configure = Configure.WithWeb() .DefaultBuilder() .Log4Net(new AzureAppender()) .AzureConfigurationSource() .AzureMessageQueue() .JsonSerializer() .UnicastBus() .LoadMessageHandlers() .IsTransactional(true) .CreateBus(); Bus = StartBus.Value; }
protected void Application_Start(object sender, EventArgs e) { Orders = new List <MyMessages.Order>(); _configure = Configure.WithWeb() .DefaultBuilder() //.Log4Net(new AzureAppender()) .AzureConfigurationSource() .AppFabricMessageQueue() .JsonSerializer() .UnicastBus() .LoadMessageHandlers() .IsTransactional(true) .CreateBus() ; }
protected void Application_Start(object sender, EventArgs e) { Orders = new List<MyMessages.Order>(); _configure = Configure.WithWeb() .DefaultBuilder() .Log4Net(new AzureAppender()) .AzureConfigurationSource() .AzureMessageQueue() .XmlSerializer() .UnicastBus() .LoadMessageHandlers() .IsTransactional(true) .CreateBus() ; }
static void Main() { BusConfiguration configuration = new BusConfiguration(); configuration.EndpointName("Samples.Mvc.Endpoint"); configuration.UseSerialization <JsonSerializer>(); configuration.UsePersistence <InMemoryPersistence>(); configuration.EnableInstallers(); using (IStartableBus bus = Bus.Create(configuration)) { bus.Start(); Console.WriteLine("To exit, press Ctrl + C"); Console.ReadLine(); } }
static void Main() { Console.Title = "Samples.Gateway.Headquarters"; Configure configure = Configure.With(); configure.Log4Net(); configure.DefineEndpointName("Samples.Gateway.Headquarters"); configure.DefaultBuilder(); configure.RunGatewayWithInMemoryPersistence(); configure.UseInMemoryGatewayDeduplication(); configure.InMemorySagaPersister(); configure.UseInMemoryTimeoutPersister(); configure.InMemorySubscriptionStorage(); configure.UseTransport <Msmq>(); using (IStartableBus startableBus = configure.UnicastBus().CreateBus()) { IBus bus = startableBus .Start(() => configure.ForInstallationOn <Windows>().Install()); Console.WriteLine("Press 'Enter' to send a message to RemoteSite which will reply."); Console.WriteLine("Press any other key to exit"); while (true) { ConsoleKeyInfo key = Console.ReadKey(); Console.WriteLine(); if (key.Key != ConsoleKey.Enter) { return; } string[] siteKeys = { "RemoteSite" }; PriceUpdated priceUpdated = new PriceUpdated { ProductId = 2, NewPrice = 100.0, ValidFrom = DateTime.Today, }; bus.SendToSites(siteKeys, priceUpdated); Console.WriteLine("Message sent, check the output in RemoteSite"); } } }
static void Main() { Console.Title = "Samples.Encryption.Endpoint1"; Configure.Serialization.Json(); Configure configure = Configure.With(); configure.Log4Net(); configure.DefineEndpointName("Samples.Encryption.Endpoint1"); configure.DefaultBuilder(); #region enableEncryption configure.RijndaelEncryptionService(); #endregion configure.UseTransport <Msmq>(); configure.InMemorySagaPersister(); configure.UseInMemoryTimeoutPersister(); configure.InMemorySubscriptionStorage(); using (IStartableBus startableBus = configure.UnicastBus().CreateBus()) { IBus bus = startableBus.Start(() => configure.ForInstallationOn <Windows>().Install()); MessageWithSecretData message = new MessageWithSecretData { Secret = "betcha can't guess my secret", SubProperty = new MySecretSubProperty { Secret = "My sub secret" }, CreditCards = new List <CreditCardDetails> { new CreditCardDetails { ValidTo = DateTime.UtcNow.AddYears(1), Number = "312312312312312" }, new CreditCardDetails { ValidTo = DateTime.UtcNow.AddYears(2), Number = "543645546546456" } } }; bus.Send("Samples.Encryption.Endpoint2", message); Console.WriteLine("MessageWithSecretData sent. Press any key to exit"); Console.ReadKey(); } }
static void Main() { Console.Title = "Samples.Callbacks.Sender"; Configure configure = Configure.With(); configure.Log4Net(); configure.DefineEndpointName("Samples.Callbacks.Sender"); configure.DefaultBuilder(); configure.MsmqTransport(); configure.InMemorySagaPersister(); configure.UseInMemoryTimeoutPersister(); configure.RunTimeoutManagerWithInMemoryPersistence(); configure.InMemorySubscriptionStorage(); configure.JsonSerializer(); using (IStartableBus startableBus = configure.UnicastBus().CreateBus()) { IBus bus = startableBus.Start(() => configure.ForInstallationOn <Windows>().Install()); Console.WriteLine("Press 'E' to send a message with an enum return"); Console.WriteLine("Press 'I' to send a message with an int return"); Console.WriteLine("Press 'O' to send a message with an object return"); Console.WriteLine("Press any other key to exit"); while (true) { ConsoleKeyInfo key = Console.ReadKey(); Console.WriteLine(); if (key.Key == ConsoleKey.E) { SendEnumMessage(bus); continue; } if (key.Key == ConsoleKey.I) { SendIntMessage(bus); continue; } if (key.Key == ConsoleKey.O) { SendObjectMessage(bus); continue; } return; } } }
void StartEndpoint() { #region 5to6-endpoint-start-stop BusConfiguration busConfiguration = new BusConfiguration(); // Custom code before start IStartableBus startable = Bus.Create(busConfiguration); IBus endpoint = startable.Start(); // Custom code after start // Block the process // Custom code before stop endpoint.Dispose(); // Custom code after stop #endregion }
public Bootstrapper(ServiceBase host = null, HostArguments hostArguments = null, Configure configure = null) { // .NET default limit is 10. RavenDB in conjunction with transports that use HTTP exceeds that limit. ServicePointManager.DefaultConnectionLimit = Settings.HttpDefaultConnectionLimit; Settings.ServiceName = DetermineServiceName(host, hostArguments); ConfigureLogging(); var containerBuilder = new ContainerBuilder(); Container = containerBuilder.Build(); // Disable Auditing for the service control endpoint Configure.Features.Disable<Audit>(); Configure.Features.Enable<Sagas>(); Feature.Disable<AutoSubscribe>(); Feature.Disable<SecondLevelRetries>(); Configure.Serialization.Json(); Configure.Transactions.Advanced(t => t.DisableDistributedTransactions().DoNotWrapHandlersExecutionInATransactionScope()); Feature.EnableByDefault<StorageDrivenPublisher>(); Configure.ScaleOut(s => s.UseSingleBrokerQueue()); var transportType = DetermineTransportType(); if (configure == null) { configure = Configure .With(AllAssemblies.Except("ServiceControl.Plugin")); } bus = configure .DefiningEventsAs(t => typeof(IEvent).IsAssignableFrom(t) || IsExternalContract(t)) .DefineEndpointName(Settings.ServiceName) .AutofacBuilder(Container) .UseTransport(transportType) .MessageForwardingInCaseOfFault() .DefineCriticalErrorAction((s, exception) => { if (host != null) { host.Stop(); } }) .UnicastBus() .CreateBus(); }
static void Main() { LogManager.Use <DefaultFactory>().Level(LogLevel.Info); BusConfiguration busConfiguration = new BusConfiguration(); busConfiguration.EndpointName("Samples.PubSub.Subscriber1"); busConfiguration.UseSerialization <JsonSerializer>(); busConfiguration.UsePersistence <InMemoryPersistence>(); busConfiguration.EnableInstallers(); IStartableBus startableBus = Bus.Create(busConfiguration); using (startableBus.Start()) { Console.WriteLine("To exit, Ctrl + C"); Console.ReadLine(); } }
static void Main() { #region msmqsubscriber-config BusConfiguration busConfiguration = new BusConfiguration(); busConfiguration.EndpointName("MsmqSubscriber"); busConfiguration.EnableInstallers(); busConfiguration.UsePersistence <NHibernatePersistence>() .ConnectionString(@"Data Source=.\SQLEXPRESS;Initial Catalog=PersistenceForMsmqTransport;Integrated Security=True"); #endregion using (IStartableBus bus = Bus.Create(busConfiguration)) { bus.Start(); Console.WriteLine("\r\nPress any key to stop program\r\n"); Console.ReadKey(); } }
public MinimumConfiguration() { #region MinimumConfiguration BusConfiguration busConfiguration = new BusConfiguration(); #endregion MinimumConfiguration #region BusDotCreate using (IStartableBus bus = Bus.Create(busConfiguration)) { bus.Start(); } #endregion BusDotCreate }
protected void Application_Start() { Configure.ScaleOut(s => s.UseSingleBrokerQueue()); _startableBus = Configure.With() .DefaultBuilder() .UseTransport<Msmq>() .UnicastBus() .RunGateway() //this line configures the gateway .FileShareDataBus(".\\databus") .CreateBus(); Configure.Instance.ForInstallationOn<Windows>().Install(); _bus = _startableBus.Start(); AreaRegistration.RegisterAllAreas(); RouteConfig.RegisterRoutes(RouteTable.Routes); }
protected void Application_Start() { Configure.ScaleOut(s => s.UseSingleBrokerQueue()); _startableBus = Configure.With() .DefaultBuilder() .RijndaelEncryptionService() .UseTransport<Msmq>() .UnicastBus() .CreateBus(); Configure.Instance.ForInstallationOn<Windows>().Install(); _bus = _startableBus.Start(); AreaRegistration.RegisterAllAreas(); RegisterGlobalFilters(GlobalFilters.Filters); RegisterRoutes(RouteTable.Routes); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); RegisterGlobalFilters(GlobalFilters.Filters); RegisterRoutes(RouteTable.Routes); _startableBus = Configure.With() .DefaultBuilder() .ForMvc() // no need for this... .MsmqTransport() .UnicastBus() .RunGateway() //this line configures the gateway .FileShareDataBus(".\\databus") .CreateBus(); Configure.Instance.ForInstallationOn<Windows>().Install(); _bus = _startableBus.Start(); }
protected void Application_Start() { startableBus = Configure.With() .DefaultBuilder() .Log4Net(new DebugAppender {Threshold = Level.Warn}) .UseTransport<Msmq>() .PurgeOnStartup(true) .UnicastBus() .RunHandlersUnderIncomingPrincipal(false) .RijndaelEncryptionService() .UseNHibernateTimeoutPersister() .CreateBus(); Configure.Instance.ForInstallationOn<Windows>().Install(); bus = startableBus.Start(); AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); }
protected void Application_Start() { //NSB _startableBus = Configure.With() .StructureMapBuilder() .RavenPersistence("RavenDB") .UseTransport<ActiveMQ>() .DefineEndpointName("IS.Argus.Core.Web") .DefiningCommandsAs(t => t.Namespace != null && t.Namespace.EndsWith("Command")) .DefiningEventsAs(t => t.Namespace != null && t.Namespace.EndsWith("Event")) .DefiningMessagesAs(t => t.Namespace == "Messages") .UnicastBus() .CreateBus(); Configure.Instance.ForInstallationOn<Windows>().Install(); _bus = _startableBus.Start(); AreaRegistration.RegisterAllAreas(); DependencyResolver.SetResolver(new StructureMapDependencyResolver(ObjectFactory.Container)); // for MVC FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); GlobalHost.DependencyResolver = new StructureMapSignalRDependencyResolver(ObjectFactory.Container); // for signalR RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); ObjectFactory.Container.Configure(x => { x.For<IControllerActivator>().Use<StructureMapControllerActivator>(); x.For<IFilterProvider>().Use<StructureMapFilterProvider>(); x.SetAllProperties(p => p.OfType<IAsyncDocumentSession>()); x.Scan(scan => { scan.LookForRegistries(); scan.Assembly("ProblemTest"); }); }); }
protected void Application_Start() { var config = new BusConfiguration(); config.Conventions() .DefiningCommandsAs(t => t.Namespace != null && t.Namespace.StartsWith("VideoStore") && t.Namespace.EndsWith("Commands")) .DefiningEventsAs(t => t.Namespace != null && t.Namespace.StartsWith("VideoStore") && t.Namespace.EndsWith("Events")) .DefiningMessagesAs(t => t.Namespace != null && t.Namespace.StartsWith("VideoStore") && t.Namespace.EndsWith("RequestResponse")) .DefiningEncryptedPropertiesAs(p => p.Name.StartsWith("Encrypted")); config.UseTransport<AzureStorageQueueTransport>(); config.UsePersistence<InMemoryPersistence>(); config.PurgeOnStartup(true); config.RijndaelEncryptionService(); config.EnableInstallers(); startableBus = NServiceBus.Bus.Create(config); bus = startableBus.Start(); AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); }
public Bootstrapper(ServiceBase host = null) { ConfigureLogging(); var containerBuilder = new ContainerBuilder(); Container = containerBuilder.Build(); // Disable Auditing for the service control endpoint Configure.Features.Disable<Audit>(); Configure.Features.Enable<Sagas>(); Feature.Disable<AutoSubscribe>(); Feature.Disable<SecondLevelRetries>(); Configure.Serialization.Json(); Configure.Transactions.Advanced(t => t.DisableDistributedTransactions()); Feature.EnableByDefault<StorageDrivenPublisher>(); Configure.ScaleOut(s => s.UseSingleBrokerQueue()); var transportType = Type.GetType(Settings.TransportType); bus = Configure .With(AllAssemblies.Except("ServiceControl.Plugin")) .DefineEndpointName("Particular.ServiceControl") .AutofacBuilder(Container) .UseTransport(transportType) .MessageForwardingInCaseOfFault() .DefineCriticalErrorAction((s, exception) => { if (host != null) { host.Stop(); } }) .UnicastBus() .CreateBus(); }
private static void Main(string[] args) { using (_bus = BusFactory.GetBus()) using (_waitHandle = new AutoResetEvent(false)) { var subscriberThread = new Thread(_ => Subscribe(_bus, _waitHandle)) { IsBackground = false, Name = "Subscriber", }; subscriberThread.Start(_waitHandle); var publisherThread = new Thread(_ => Publish(_bus)) { IsBackground = false, Name = "Publisher" }; publisherThread.Start(); publisherThread.Join(); _waitHandle.Set(); subscriberThread.Join(); } }
public Result Initialize(RunDescriptor run, EndpointBehavior endpointBehavior, IDictionary<Type, string> routingTable, string endpointName) { try { behavior = endpointBehavior; scenarioContext = run.ScenarioContext; configuration = ((IEndpointConfigurationFactory) Activator.CreateInstance(endpointBehavior.EndpointBuilderType)) .Get(); configuration.EndpointName = endpointName; if (!string.IsNullOrEmpty(configuration.CustomMachineName)) { RuntimeEnvironment.MachineNameAction = () => configuration.CustomMachineName; } //apply custom config settings endpointBehavior.CustomConfig.ForEach(customAction => customAction(config)); config = configuration.GetConfiguration(run, routingTable); if (scenarioContext != null) { config.Configurer.RegisterSingleton(scenarioContext.GetType(), scenarioContext); scenarioContext.ContextPropertyChanged += scenarioContext_ContextPropertyChanged; } bus = config.CreateBus(); Configure.Instance.ForInstallationOn<Windows>().Install(); stopToken = stopSource.Token; if (behavior.Whens.Count == 0) { executeWhens = Task.FromResult(0); } else { executeWhens = Task.Factory.StartNew(async () => { var executedWhens = new List<Guid>(); while (!stopToken.IsCancellationRequested) { if (executedWhens.Count == behavior.Whens.Count) { break; } //we spin around each 5s since the callback mechanism seems to be shaky await contextChanged.WaitAsync(TimeSpan.FromSeconds(5), stopToken); if (stopToken.IsCancellationRequested) break; foreach (var when in behavior.Whens) { if (executedWhens.Contains(when.Id)) { continue; } if (when.ExecuteAction(scenarioContext, bus)) { executedWhens.Add(when.Id); } } } }, stopToken).Unwrap(); } return Result.Success(); } catch (Exception ex) { Logger.Error("Failed to initialize endpoint " + endpointName, ex); return Result.Failure(ex); } }
public Result Initialize(RunDescriptor run, EndpointBehavior endpointBehavior, IDictionary<Type, string> routingTable, string endpointName) { try { runDescriptor = run; behavior = endpointBehavior; scenarioContext = run.ScenarioContext; configuration = ((IEndpointConfigurationFactory)Activator.CreateInstance(endpointBehavior.EndpointBuilderType)) .Get(); configuration.EndpointName = endpointName; if (!string.IsNullOrEmpty(configuration.CustomMachineName)) { RuntimeEnvironment.MachineNameAction = () => configuration.CustomMachineName; } //apply custom config settings var busConfiguration = configuration.GetConfiguration(run, routingTable); scenarioContext.ContextPropertyChanged += scenarioContext_ContextPropertyChanged; endpointBehavior.CustomConfig.ForEach(customAction => customAction(busConfiguration)); if (configuration.SendOnly) { sendOnlyBus = Bus.CreateSendOnly(busConfiguration); } else { bus = Bus.Create(busConfiguration); var transportDefinition = ((UnicastBus)bus).Settings.Get<TransportDefinition>(); scenarioContext.HasNativePubSubSupport = transportDefinition.HasNativePubSubSupport; } executeWhens = Task.Factory.StartNew(() => { while (!stopped) { //we spin around each 5s since the callback mechanism seems to be shaky contextChanged.Wait(TimeSpan.FromSeconds(5)); lock (behavior) { foreach (var when in behavior.Whens) { if (executedWhens.Contains(when.Id)) { continue; } if (when.ExecuteAction(scenarioContext, bus)) { executedWhens.Add(when.Id); } } } } }); return Result.Success(); } catch (Exception ex) { Logger.Error("Failed to initialize endpoint " + endpointName, ex); return Result.Failure(ex); } }
NsbBus Add(IStartableBus bus) { var nsbBus = new NsbBus(bus); _all.Add(nsbBus); return nsbBus; }
private static void Subscribe(IStartableBus bus, WaitHandle waitHandle) { try { bus.Start(); //Console.WriteLine("Waiting for messages."); waitHandle.WaitOne(); } catch (Exception ex) { Console.WriteLine("Unhandled ex: {0}", ex); } }
private void ConfigureStartableBusXP() { Configure.Transactions.Enable(); Configure.Serialization.Json(); Configure.Features.Disable<Sagas>(); Feature.Disable<XmlSerialization>(); startableBus = Configure.With( AllAssemblies.Matching("Messages.dll").And("Handlers.dll")) // .DefineEndpointName(ConfigurationManager.AppSettings["ServiceBusEndpointName"]) .DefaultBuilder() .DefiningMessagesAs(t => t.Namespace == "Messages") .RavenSubscriptionStorage() .UseTransport<Msmq>() .PurgeOnStartup(false) .UnicastBus() .RunHandlersUnderIncomingPrincipal(false) .CreateBus(); Configure.Instance.ForInstallationOn<Windows>().Install(); }
private static void StartBus(BusConfiguration busConfiguration) { bus = Bus.Create(busConfiguration); bus.Start(); }
public NsbBus(IStartableBus startableBus) { _startableBus = startableBus; }