/
afanasevn
/
MaxSystems
Обзор
Документация
Войти
/
afanasevn
/
MaxSystems
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/MaxSystems.Infrastructure/Configuration/IntegrationEventBusConfiguration.cs
36 строк
1 KB
IBS\NAfanasev
Production tests added
30 июн 2026, 13:52
30 июн 2026, 13:52
919fb54
Код
Авторство
О чём код?
using MaxSystems.Application.Integration; using Microsoft.Extensions.Configuration; namespace MaxSystems.Infrastructure.Configuration; /// <summary>Чтение настроек Integration Event Bus из конфигурации / env.</summary> public static class IntegrationEventBusConfiguration { /// <summary> /// Включена ли публикация в RabbitMQ. /// false — заглушка publisher/replay, Wolverine не подключается. /// Если строка rabbitmq отсутствует и флаг не задан явно — брокер считается отключённым. /// </summary> public static bool IsRabbitMqEnabled(IConfiguration configuration) { var section = configuration.GetSection(IntegrationEventBusOptions.SectionName); var explicitValue = section.GetValue<bool?>(nameof(IntegrationEventBusOptions.RabbitMqEnabled)); if (explicitValue == false) return false; var hasConnectionString = !string.IsNullOrWhiteSpace( configuration.GetConnectionString(ConnectionStringConfiguration.RabbitMqConnectionName)); if (explicitValue == true && !hasConnectionString) { throw new InvalidOperationException( "IntegrationEventBus:RabbitMqEnabled=true, но ConnectionStrings__rabbitmq не задана."); } if (explicitValue == true) return true; return hasConnectionString; } }