public void CreateBus(IServiceCollectionBusConfigurator busConfigurator, IStartupBusConfigurator configurator) { if (!configurator.HasSchedulerEndpoint) { busConfigurator.AddRabbitMqMessageScheduler(); } busConfigurator.UsingRabbitMq((context, cfg) => { var options = context.GetRequiredService <IOptions <RabbitMqOptions> >().Value; var sslOptions = context.GetRequiredService <IOptions <RabbitMqSslOptions> >().Value; cfg.Host(options.Host, options.Port, options.VHost, h => { h.Username(options.User); h.Password(options.Pass); if (options.UseSsl) { h.UseSsl(s => { s.ServerName = sslOptions.ServerName; s.CertificatePath = sslOptions.CertPath; s.CertificatePassphrase = sslOptions.CertPassphrase; s.UseCertificateAsAuthenticationIdentity = sslOptions.CertIdentity; if (sslOptions.Trust) { s.AllowPolicyErrors(SslPolicyErrors.RemoteCertificateNameMismatch | SslPolicyErrors.RemoteCertificateChainErrors | SslPolicyErrors.RemoteCertificateNotAvailable); } }); } }); if (!configurator.TryConfigureQuartz(cfg)) { Log.Information("Configuring RabbitMQ Message Scheduler (delayed exchange)"); cfg.UseDelayedExchangeMessageScheduler(); } configurator.ConfigureBus(cfg, context); }); }
public static IServiceCollectionBusConfigurator AddBusConfigurator(this IServiceCollectionBusConfigurator configurator, string eventBusConnection) { configurator.ApplyCustomMassTransitConfiguration(); configurator.SetKebabCaseEndpointNameFormatter(); configurator.UsingRabbitMq((context, rabbitMqBusFactoryConfigurator) => { rabbitMqBusFactoryConfigurator.Host(eventBusConnection); MessageDataDefaults.ExtraTimeToLive = TimeSpan.FromDays(1); MessageDataDefaults.Threshold = 2000; MessageDataDefaults.AlwaysWriteToRepository = false; rabbitMqBusFactoryConfigurator.ConfigureEndpoints(context); }); return(configurator); }
/// <summary> /// /// </summary> /// <param name="x"></param> public static void MTConfiguration(IServiceCollectionBusConfigurator x) { x.UsingRabbitMq((ctx, cfg) => { string mqHostAddress = GVariable.configuration["MTMQ:Host"]; cfg.Host(mqHostAddress, virtualHost: "/", c => { string user = GVariable.configuration["MTMQ:UserName"]; string pwd = GVariable.configuration["MTMQ:Password"]; c.Username(user); c.Password(pwd); }); cfg.UseRetry(ret => { ret.Interval(5, TimeSpan.FromSeconds(12)); }); }); }