/// <summary> /// Serialize messages using the JSON serializer /// </summary> /// <param name="configurator"></param> public static void UseJsonSerializer(this IBusFactoryConfigurator configurator) { configurator.SetMessageSerializer(() => new JsonMessageSerializer()); }
protected abstract void ConfigureServiceEndpoints(IBusFactoryConfigurator <IInMemoryReceiveEndpointConfigurator> configurator);
protected override void ConfigureServiceEndpoints(IBusFactoryConfigurator <IInMemoryReceiveEndpointConfigurator> configurator) { configurator.ConfigureServiceEndpoints(_container.GetRequiredService <IBusRegistrationContext>(), Options); }
/// <summary> /// Configure Audit Store against Entity Framework Core /// </summary> /// <param name="configurator"></param> /// <param name="dbContextOptions">The DB Context Options configuration builder</param> /// <param name="auditTableName">Name of the table to store audit records.</param> public static void UseEntityFrameworkCoreAuditStore(this IBusFactoryConfigurator configurator, DbContextOptionsBuilder dbContextOptions, string auditTableName) { ConfigureAuditStore(configurator, dbContextOptions, auditTableName); }
/// <summary> /// Configures the factory. /// </summary> /// <param name="configurator"></param> public void Apply(string name, IBusFactoryConfigurator configurator) { configurator.ConfigureJsonSerializer(Configure); configurator.ConfigureJsonDeserializer(Configure); }
/// <summary> /// Configure Audit Store against Entity Framework Core /// </summary> /// <param name="configurator"></param> /// <param name="dbContextOptions">The DB Context Options configuration builder</param> /// <param name="auditTableName">Name of the table to store audit records.</param> /// <param name="configureFilter">Configure messages to exclude or include from auditing.</param> public static void UseEntityFrameworkCoreAuditStore(this IBusFactoryConfigurator configurator, DbContextOptionsBuilder dbContextOptions, string auditTableName, Action <IMessageFilterConfigurator> configureFilter) { ConfigureAuditStore(configurator, dbContextOptions, auditTableName, configureFilter); }
public static void RegisterInMemoryModule(this IBusFactoryConfigurator configurator, IServiceProvider provider) { configurator.RegisterConsumer <Persistence.EventHandlers.NodesEventHandlers>(provider); configurator.RegisterConsumer <Persistence.EventHandlers.FilesEventHandlers>(provider); }
public static void UseRetry(this IPipeConfigurator <ConsumeContext> configurator, IBusFactoryConfigurator connector, Action <IRetryConfigurator> configure) { if (configurator == null) { throw new ArgumentNullException(nameof(configurator)); } var observer = new RetryBusObserver(); connector.ConnectBusObserver(observer); var specification = new ConsumeContextRetryPipeSpecification(observer.Stopping); configure?.Invoke(specification); configurator.AddPipeSpecification(specification); }
/// <summary> /// For all configured messages type (handlers, consumers, and sagas), configures message retry using the retry configuration specified. /// Retry is configured once for each message type, and is added prior to the consumer factory or saga repository in the pipeline. /// </summary> /// <param name="configurator"></param> /// <param name="connector">The bus factory configurator, to connect the observer, to cancel retries if the bus is stopped</param> /// <param name="configureRetry"></param> public static void UseMessageRetry(this IConsumePipeConfigurator configurator, IBusFactoryConfigurator connector, Action <IRetryConfigurator> configureRetry) { if (configurator == null) { throw new ArgumentNullException(nameof(configurator)); } if (configureRetry == null) { throw new ArgumentNullException(nameof(configureRetry)); } var retryObserver = new RetryBusObserver(); connector.ConnectBusObserver(retryObserver); var observer = new RetryConfigurationObserver(configurator, retryObserver.Stopping, configureRetry); }
public static void UseRetry <TSaga>(this IPipeConfigurator <SagaConsumeContext <TSaga> > configurator, IBusFactoryConfigurator connector, Action <IRetryConfigurator> configure) where TSaga : class, ISaga { if (configurator == null) { throw new ArgumentNullException(nameof(configurator)); } var observer = new RetryBusObserver(); connector.ConnectBusObserver(observer); var specification = new ConsumeContextRetryPipeSpecification <SagaConsumeContext <TSaga>, RetrySagaConsumeContext <TSaga> >(Factory, observer.Stopping); configure?.Invoke(specification); configurator.AddPipeSpecification(specification); }