static ITopicProducer <TKey, T> GetProducer <TKey, T>(string topicName, IConfigurationServiceProvider provider) where T : class { var address = new Uri($"topic:{topicName}"); return(GetProducer <TKey, T>(address, provider)); }
public static IBusFactoryConfigurator UseCustomFilters( this IBusFactoryConfigurator configurator, IConfigurationServiceProvider provider) { configurator.UseConsumeFilter(typeof(MessageLoggerConsumeFilter <>), provider); configurator.UseConsumeFilter(typeof(AuthDataGetterConsumeFilter <>), provider); return(configurator); }
public void Configure(IReceiveEndpointConfigurator configurator, IConfigurationServiceProvider configurationServiceProvider) { var stateMachine = configurationServiceProvider.GetRequiredService <SagaStateMachine <TInstance> >(); var repository = configurationServiceProvider.GetRequiredService <ISagaRepository <TInstance> >(); var decoratorRegistration = configurationServiceProvider.GetService <ISagaRepositoryDecoratorRegistration <TInstance> >(); if (decoratorRegistration != null) { repository = decoratorRegistration.DecorateSagaRepository(repository); } var stateMachineConfigurator = new StateMachineSagaConfigurator <TInstance>(stateMachine, repository, configurator); GetSagaDefinition(configurationServiceProvider) .Configure(configurator, stateMachineConfigurator); foreach (Action <ISagaConfigurator <TInstance> > action in _configureActions) { action(stateMachineConfigurator); } LogContext.Debug?.Log("Configured endpoint {Endpoint}, Saga: {SagaType}, State Machine: {StateMachineType}", configurator.InputAddress.GetLastPart(), TypeMetadataCache <TInstance> .ShortName, TypeMetadataCache.GetShortName(stateMachine.GetType())); configurator.AddEndpointSpecification(stateMachineConfigurator); }
void ISagaRegistration.Configure(IReceiveEndpointConfigurator configurator, IConfigurationServiceProvider configurationServiceProvider) { var repository = configurationServiceProvider.GetRequiredService <ISagaRepository <TSaga> >(); var decoratorRegistration = configurationServiceProvider.GetService <ISagaRepositoryDecoratorRegistration <TSaga> >(); if (decoratorRegistration != null) { repository = decoratorRegistration.DecorateSagaRepository(repository); } var sagaConfigurator = new SagaConfigurator <TSaga>(repository, configurator); GetSagaDefinition(configurationServiceProvider) .Configure(configurator, sagaConfigurator); foreach (Action <ISagaConfigurator <TSaga> > action in _configureActions) { action(sagaConfigurator); } LogContext.Info?.Log("Configured endpoint {Endpoint}, Saga: {SagaType}", configurator.InputAddress.GetLastPart(), TypeMetadataCache <TSaga> .ShortName); configurator.AddEndpointSpecification(sagaConfigurator); }
protected void ConfigureMediator(IReceiveEndpointConfigurator configurator, IConfigurationServiceProvider provider) { var registration = provider.GetRequiredService<IRegistration>(); registration.ConfigureConsumers(configurator); registration.ConfigureSagas(configurator); }
public void Configure(IReceiveEndpointConfigurator configurator, IConfigurationServiceProvider configurationServiceProvider) { ISagaStateMachineFactory stateMachineFactory = configurationServiceProvider.GetRequiredService <ISagaStateMachineFactory>(); SagaStateMachine <TInstance> stateMachine = stateMachineFactory.CreateStateMachine <TInstance>(); IStateMachineActivityFactory activityFactory = configurationServiceProvider.GetRequiredService <IStateMachineActivityFactory>(); void AddStateMachineActivityFactory(ConsumeContext context) { context.GetOrAddPayload(() => activityFactory); } var repositoryFactory = configurationServiceProvider.GetRequiredService <ISagaRepositoryFactory>(); ISagaRepository <TInstance> repository = repositoryFactory.CreateSagaRepository <TInstance>(AddStateMachineActivityFactory); var stateMachineConfigurator = new StateMachineSagaConfigurator <TInstance>(stateMachine, repository, configurator); GetSagaDefinition(configurationServiceProvider) .Configure(configurator, stateMachineConfigurator); foreach (Action <ISagaConfigurator <TInstance> > action in _configureActions) { action(stateMachineConfigurator); } configurator.AddEndpointSpecification(stateMachineConfigurator); }
private static void ConfigureContext(IBusFactoryConfigurator cfg, IConfigurationServiceProvider context) { cfg.UseDelayedMessageScheduler(); cfg.UsePublishFilter(typeof(PublishMessageDecryptMessageFilter <>), context); cfg.UsePublishFilter(typeof(PublishMessageLoggingFilter <>), context); cfg.UsePrometheusMetrics(); }
DatabaseContext <TSaga> Factory(IConfigurationServiceProvider provider) { var client = new DocumentClient(EndpointUri, Key); var context = new DocumentDbDatabaseContext <TSaga>(client, DatabaseId, CollectionId ?? DefaultCollectionName, _serializerSettings); return(context); }
protected void ConfigureMediator(IReceiveEndpointConfigurator configurator, IConfigurationServiceProvider provider) { var registration = new Registration(provider, _consumerRegistrations.ToDictionary(x => x.Key, x => x.Value), _sagaRegistrations.ToDictionary(x => x.Key, x => x.Value), _executeActivityRegistrations.ToDictionary(x => x.Key, x => x.Value), _activityRegistrations.ToDictionary(x => x.Key, x => x.Value), _endpointRegistrations.ToDictionary(x => x.Key, x => x.Value)); registration.ConfigureConsumers(configurator); registration.ConfigureSagas(configurator); }
public BusRegistrationContextComponentResolver(IConfigurationServiceProvider provider, IHangfireComponentResolver resolver) { _backgroundJobClient = new Lazy <IBackgroundJobClient>(() => provider.GetService <IBackgroundJobClient>() ?? resolver.BackgroundJobClient); _recurringJobManager = new Lazy <IRecurringJobManager>(() => provider.GetService <IRecurringJobManager>() ?? resolver.RecurringJobManager); _timeZoneResolver = new Lazy <ITimeZoneResolver>(() => provider.GetService <ITimeZoneResolver>() ?? resolver.TimeZoneResolver); _jobFilterProvider = new Lazy <IJobFilterProvider>(() => provider.GetService <IJobFilterProvider>() ?? resolver.JobFilterProvider); _backgroundProcesses = new Lazy <IEnumerable <IBackgroundProcess> >(() => provider.GetService <IEnumerable <IBackgroundProcess> >() ?? resolver.BackgroundProcesses); _jobStorage = new Lazy <JobStorage>(() => provider.GetService <JobStorage>() ?? resolver.JobStorage); }
public Registration(IConfigurationServiceProvider configurationServiceProvider, IRegistrationCache <IConsumerRegistration> consumers, IRegistrationCache <ISagaRegistration> sagas, IRegistrationCache <IExecuteActivityRegistration> executeActivities, IRegistrationCache <IActivityRegistration> activities) { _configurationServiceProvider = configurationServiceProvider; Consumers = consumers; Sagas = sagas; ExecuteActivities = executeActivities; Activities = activities; }
private static string ComposeGroupId(IConfigurationServiceProvider context) { var hostEnv = context.GetRequiredService <IHostEnvironment>(); var groupIdBuilder = new StringBuilder(hostEnv.EnvironmentName.ToLower()); if (hostEnv.IsDevelopment()) //use different group-id for different developers { groupIdBuilder.AppendFormat("-{0}", Dns.GetHostName().ToLower()); } return(groupIdBuilder.ToString()); }
public Registration(IConfigurationServiceProvider configurationServiceProvider, IRegistrationCache <IConsumerRegistration> consumers, IRegistrationCache <ISagaRegistration> sagas, IRegistrationCache <IExecuteActivityRegistration> executeActivities, IRegistrationCache <IActivityRegistration> activities, IRegistrationCache <IFutureRegistration> futures) { _configurationServiceProvider = configurationServiceProvider; Consumers = consumers; Sagas = sagas; ExecuteActivities = executeActivities; Activities = activities; Futures = futures; _configuredTypes = new HashSet <Type>(); }
public void Configure(IReceiveEndpointConfigurator configurator, IConfigurationServiceProvider configurationServiceProvider) { var executeActivityScopeProvider = configurationServiceProvider.GetRequiredService <IExecuteActivityScopeProvider <TActivity, TArguments> >(); var executeActivityFactory = new ScopeExecuteActivityFactory <TActivity, TArguments>(executeActivityScopeProvider); var specification = new ExecuteActivityHostSpecification <TActivity, TArguments>(executeActivityFactory); foreach (var action in _configureActions) { action(specification); } configurator.AddEndpointSpecification(specification); }
static IEventHubProducerProvider GetCurrentProducerProvider(IConfigurationServiceProvider provider) { var producerProvider = provider.GetRequiredService <IEventHubRider>(); var contextProvider = provider.GetService <ScopedConsumeContextProvider>(); if (contextProvider != null) { return(contextProvider.HasContext ? producerProvider.GetProducerProvider(contextProvider.GetContext()) : producerProvider.GetProducerProvider()); } return(producerProvider.GetProducerProvider(provider.GetService <ConsumeContext>())); }
static ITopicProducer <TKey, T> GetProducer <TKey, T>(Uri address, IConfigurationServiceProvider provider) where T : class { var rider = provider.GetRequiredService <IKafkaRider>(); var contextProvider = provider.GetService <ScopedConsumeContextProvider>(); if (contextProvider != null) { return(contextProvider.HasContext ? rider.GetProducer <TKey, T>(address, contextProvider.GetContext()) : rider.GetProducer <TKey, T>(address)); } return(rider.GetProducer <TKey, T>(address, provider.GetService <ConsumeContext>())); }
IFutureDefinition <TFuture> GetFutureDefinition(IConfigurationServiceProvider provider) { if (_definition != null) { return(_definition); } _definition = provider.GetService <IFutureDefinition <TFuture> >() ?? new DefaultFutureDefinition <TFuture>(); var endpointDefinition = provider.GetService <IEndpointDefinition <TFuture> >(); if (endpointDefinition != null) { _definition.EndpointDefinition = endpointDefinition; } return(_definition); }
void ISagaRegistration.Configure(IReceiveEndpointConfigurator configurator, IConfigurationServiceProvider configurationServiceProvider) { var repositoryFactory = configurationServiceProvider.GetRequiredService <ISagaRepositoryFactory>(); ISagaRepository <TSaga> sagaRepository = repositoryFactory.CreateSagaRepository <TSaga>(); var sagaConfigurator = new SagaConfigurator <TSaga>(sagaRepository, configurator); LogContext.Debug?.Log("Configuring endpoint {Endpoint}, Saga: {SagaType}", configurator.InputAddress.GetLastPart(), TypeMetadataCache <TSaga> .ShortName); GetSagaDefinition(configurationServiceProvider) .Configure(configurator, sagaConfigurator); foreach (Action <ISagaConfigurator <TSaga> > action in _configureActions) { action(sagaConfigurator); } configurator.AddEndpointSpecification(sagaConfigurator); }
public void Configure(IReceiveEndpointConfigurator configurator, IConfigurationServiceProvider configurationServiceProvider) { ISagaStateMachineFactory stateMachineFactory = configurationServiceProvider.GetRequiredService<ISagaStateMachineFactory>(); SagaStateMachine<TInstance> stateMachine = stateMachineFactory.CreateStateMachine<TInstance>(); var repositoryFactory = configurationServiceProvider.GetRequiredService<ISagaRepositoryFactory>(); ISagaRepository<TInstance> repository = repositoryFactory.CreateSagaRepository<TInstance>(); var stateMachineConfigurator = new StateMachineSagaConfigurator<TInstance>(stateMachine, repository, configurator); LogContext.Debug?.Log("Configuring endpoint {Endpoint}, Saga: {SagaType}, State Machine: {StateMachineType}", configurator.InputAddress.GetLastPart(), TypeMetadataCache<TInstance>.ShortName, TypeMetadataCache.GetShortName(stateMachine.GetType())); GetSagaDefinition(configurationServiceProvider) .Configure(configurator, stateMachineConfigurator); foreach (Action<ISagaConfigurator<TInstance>> action in _configureActions) action(stateMachineConfigurator); configurator.AddEndpointSpecification(stateMachineConfigurator); }