public static void Host(TextWriter log, CancellationToken cancellationToken) { var configuration = new BusConfiguration(); configuration.DisableFeature <SecondLevelRetries>(); configuration.DisableFeature <Sagas>(); configuration.DisableFeature <TimeoutManager>(); configuration.AzureConfigurationSource(); configuration.UseTransport <AzureStorageQueueTransport>(); configuration.UsePersistence <AzureStoragePersistence>(); configuration.ApplyMessageConventions(); var startableBus = Bus.Create(configuration); startableBus.Start(); log.WriteLine("WebJob - bus started"); var tzi = TimeZoneInfo.FindSystemTimeZoneById("Mountain Standard Time"); while (!cancellationToken.IsCancellationRequested) { Thread.Sleep(3000); } startableBus.Dispose(); log.WriteLine("Host: Canceled at " + TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, tzi)); }
Usage(BusConfiguration busConfiguration) { #region AzureConfigurationSource busConfiguration.AzureConfigurationSource(); #endregion }
protected void Application_Start() { var busConfiguration = new BusConfiguration(); busConfiguration.AzureConfigurationSource(); busConfiguration.UseTransport<AzureStorageQueueTransport>(); busConfiguration.UsePersistence<AzureStoragePersistence>(); IStartableBus startableBus = Bus.Create(busConfiguration); IBus bus = startableBus.Start(); }
protected void Application_Start() { var busConfiguration = new BusConfiguration(); busConfiguration.AzureConfigurationSource(); busConfiguration.UseTransport <AzureStorageQueueTransport>(); busConfiguration.UsePersistence <AzureStoragePersistence>(); var startableBus = Bus.Create(busConfiguration); var bus = startableBus.Start(); }
public void Start() { DynamicHostControllerConfig configSection = null; var o = new BusConfiguration(); o.AssembliesToScan(GetType().Assembly); o.AzureConfigurationSource(); o.RegisterComponents(Configurer => { Configurer.ConfigureComponent<DynamicEndpointLoader>(DependencyLifecycle.SingleInstance); Configurer.ConfigureComponent<DynamicEndpointProvisioner>(DependencyLifecycle.SingleInstance); Configurer.ConfigureComponent<DynamicEndpointRunner>(DependencyLifecycle.SingleInstance); Configurer.ConfigureComponent<DynamicHostMonitor>(DependencyLifecycle.SingleInstance); configSection = o.GetSettings().GetConfigSection<DynamicHostControllerConfig>() ?? new DynamicHostControllerConfig(); Configurer.ConfigureProperty<DynamicEndpointLoader>(t => t.ConnectionString, configSection.ConnectionString); Configurer.ConfigureProperty<DynamicEndpointLoader>(t => t.Container, configSection.Container); Configurer.ConfigureProperty<DynamicEndpointProvisioner>(t => t.LocalResource, configSection.LocalResource); Configurer.ConfigureProperty<DynamicEndpointProvisioner>(t => t.RecycleRoleOnError, configSection.RecycleRoleOnError); Configurer.ConfigureProperty<DynamicEndpointRunner>(t => t.RecycleRoleOnError, configSection.RecycleRoleOnError); Configurer.ConfigureProperty<DynamicEndpointRunner>(t => t.TimeToWaitUntilProcessIsKilled, configSection.TimeToWaitUntilProcessIsKilled); Configurer.ConfigureProperty<DynamicHostMonitor>(t => t.Interval, configSection.UpdateInterval); }); o.UsePersistence<AzureStoragePersistence>(); o.DiscardFailedMessagesInsteadOfSendingToErrorQueue(); profileManager.ActivateProfileHandlers(o); specifier.Customize(o); var bus = (UnicastBus)Bus.CreateSendOnly(o); loader = bus.Builder.Build<DynamicEndpointLoader>(); provisioner = bus.Builder.Build<DynamicEndpointProvisioner>(); runner = bus.Builder.Build<DynamicEndpointRunner>(); var endpointsToHost = loader.LoadEndpoints(); if (endpointsToHost == null) return; runningServices = new List<EndpointToHost>(endpointsToHost); provisioner.Provision(runningServices); runner.Start(runningServices); if (!configSection.AutoUpdate) return; monitor = bus.Builder.Build<DynamicHostMonitor>(); monitor.UpdatedEndpoints += UpdatedEndpoints; monitor.NewEndpoints += NewEndpoints; monitor.RemovedEndpoints += RemovedEndpoints; monitor.Monitor(runningServices); monitor.Start(); }
public void Customize(BusConfiguration configuration) { configuration.UseTransport<AzureServiceBusTransport>().ConnectionString(ConnectionString); configuration.Transactions() .DisableDistributedTransactions() .DoNotWrapHandlersExecutionInATransactionScope(); configuration.AzureConfigurationSource(); configuration.UsePersistence<InMemoryPersistence>(); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); var configuration = new BusConfiguration(); configuration.AzureConfigurationSource(); configuration.UseTransport <AzureStorageQueueTransport>(); configuration.UsePersistence <AzureStoragePersistence>(); configuration.ApplyMessageConventions(); startableBus = Bus.Create(configuration); startableBus.Start(); startableBus.Send <Ping>(ping => ping.Message = "ping from web"); Trace.WriteLine("WebRole - sent a message"); }
void PerformConfiguration(Action <BusConfiguration> moreConfiguration = null) { var loggingConfigurers = profileManager.GetLoggingConfigurer(); foreach (var loggingConfigurer in loggingConfigurers) { loggingConfigurer.Configure(specifier); } var configuration = new BusConfiguration(); configuration.EndpointName(endpointNameToUse); configuration.AssembliesToScan(assembliesToScan); configuration.DefineCriticalErrorAction(OnCriticalError); if (SafeRoleEnvironment.IsAvailable) { if (!IsHostedIn.ChildHostProcess()) { configuration.AzureConfigurationSource(); } var host = SafeRoleEnvironment.CurrentRoleName; var instance = SafeRoleEnvironment.CurrentRoleInstanceId; var hostId = DeterministicGuid(instance, host); configuration .UniquelyIdentifyRunningInstance() .UsingCustomIdentifier(hostId) .UsingNames(instance, host); } if (moreConfiguration != null) { moreConfiguration(configuration); } specifier.Customize(configuration); RoleManager.TweakConfigurationBuilder(specifier, configuration); bus = (UnicastBus)Bus.Create(configuration); }
public void Start() { DynamicHostControllerConfig configSection = null; var o = new BusConfiguration(); o.AssembliesToScan(GetType().Assembly); o.AzureConfigurationSource(); o.RegisterComponents(Configurer => { Configurer.ConfigureComponent <DynamicEndpointLoader>(DependencyLifecycle.SingleInstance); Configurer.ConfigureComponent <DynamicEndpointProvisioner>(DependencyLifecycle.SingleInstance); Configurer.ConfigureComponent <DynamicEndpointRunner>(DependencyLifecycle.SingleInstance); Configurer.ConfigureComponent <DynamicHostMonitor>(DependencyLifecycle.SingleInstance); configSection = o.GetSettings().GetConfigSection <DynamicHostControllerConfig>() ?? new DynamicHostControllerConfig(); Configurer.ConfigureProperty <DynamicEndpointLoader>(t => t.ConnectionString, configSection.ConnectionString); Configurer.ConfigureProperty <DynamicEndpointLoader>(t => t.Container, configSection.Container); Configurer.ConfigureProperty <DynamicEndpointProvisioner>(t => t.LocalResource, configSection.LocalResource); Configurer.ConfigureProperty <DynamicEndpointProvisioner>(t => t.RecycleRoleOnError, configSection.RecycleRoleOnError); Configurer.ConfigureProperty <DynamicEndpointRunner>(t => t.RecycleRoleOnError, configSection.RecycleRoleOnError); Configurer.ConfigureProperty <DynamicEndpointRunner>(t => t.TimeToWaitUntilProcessIsKilled, configSection.TimeToWaitUntilProcessIsKilled); Configurer.ConfigureProperty <DynamicHostMonitor>(t => t.Interval, configSection.UpdateInterval); }); o.UsePersistence <AzureStoragePersistence>(); o.DiscardFailedMessagesInsteadOfSendingToErrorQueue(); profileManager.ActivateProfileHandlers(o); specifier.Customize(o); var bus = (UnicastBus)Bus.CreateSendOnly(o); loader = bus.Builder.Build <DynamicEndpointLoader>(); provisioner = bus.Builder.Build <DynamicEndpointProvisioner>(); runner = bus.Builder.Build <DynamicEndpointRunner>(); var endpointsToHost = loader.LoadEndpoints(); if (endpointsToHost == null) { return; } runningServices = new List <EndpointToHost>(endpointsToHost); provisioner.Provision(runningServices); runner.Start(runningServices); if (!configSection.AutoUpdate) { return; } monitor = bus.Builder.Build <DynamicHostMonitor>(); monitor.UpdatedEndpoints += UpdatedEndpoints; monitor.NewEndpoints += NewEndpoints; monitor.RemovedEndpoints += RemovedEndpoints; monitor.Monitor(runningServices); monitor.Start(); }
void PerformConfiguration(Action<BusConfiguration> moreConfiguration = null) { var loggingConfigurers = profileManager.GetLoggingConfigurer(); foreach (var loggingConfigurer in loggingConfigurers) { loggingConfigurer.Configure(specifier); } var configuration = new BusConfiguration(); configuration.EndpointName(endpointNameToUse); configuration.AssembliesToScan(assembliesToScan); if (SafeRoleEnvironment.IsAvailable) { if (!IsHostedIn.ChildHostProcess()) { configuration.AzureConfigurationSource(); } var host = SafeRoleEnvironment.CurrentRoleName; var instance = SafeRoleEnvironment.CurrentRoleInstanceId; var hostId = DeterministicGuid(instance, host); configuration .UniquelyIdentifyRunningInstance() .UsingCustomIdentifier(hostId) .UsingNames(instance, host); } if (moreConfiguration != null) { moreConfiguration(configuration); } specifier.Customize(configuration); RoleManager.TweakConfigurationBuilder(specifier, configuration); bus = (UnicastBus) Bus.Create(configuration); }