outbox checkpoint

This commit is contained in:
2026-03-15 17:11:31 +01:00
parent f3a51dafad
commit a39453667a
63 changed files with 1410 additions and 55 deletions

View File

@@ -1,9 +1,13 @@
using MassTransit;
using Mccn.Common.Application.EventBus;
using Mccn.Common.Infrastructure.Authentication;
using Mccn.Common.Infrastructure.Caching;
using Mccn.Common.Infrastructure.EventBus;
using Mccn.Common.Infrastructure.ExceptionHandlers;
using Mccn.Common.Infrastructure.Observability;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Quartz;
namespace Mccn.Common.Infrastructure;
@@ -11,7 +15,8 @@ public static class DependencyInjection
{
public static IServiceCollection AddInfrastructure(
this IServiceCollection services,
IConfiguration configuration)
IConfiguration configuration,
params Action<IRegistrationConfigurator>[] moduleConsumers)
{
services.AddJwtAuthentication(configuration);
@@ -26,6 +31,24 @@ public static class DependencyInjection
services.AddHttpContextAccessor();
services.AddMassTransit(configure =>
{
foreach (Action<IRegistrationConfigurator> configureConsumers in moduleConsumers)
configureConsumers(configure);
configure.SetKebabCaseEndpointNameFormatter();
configure.UsingRabbitMq((context, cfg) =>
{
cfg.Host(configuration.GetConnectionString("MessageBroker"));
cfg.ConfigureEndpoints(context);
});
});
services.AddScoped<IEventBus, EventBus.EventBus>();
services.AddQuartz();
services.AddQuartzHostedService(options => options.WaitForJobsToComplete = true);
return services;
}
}