/// <summary> /// Инициализирует компонент ссылками на <see cref="IMessageAdapter" />, <see cref="IHealthCheckingService" />, /// коллекции <see cref="IMessageProcessor" />, <see cref="IMessageProcessorAsync" /> /// </summary> /// <param name="messageAdapter">Адаптер для работы с очередью</param> /// <param name="messageProcessors">Процессоры для обработки сообщения</param> /// <param name="asyncMessageProcessors">Асинхронные процессоры для обработки сообщения</param> /// <param name="subscribeInterval">Интервал подписки</param> /// <param name="pollingId">Идентификатор потока для опроса</param> /// <param name="serviceHealthDependent">Признак использования диагностики</param> /// <param name="healthCheckingService">Ссылка на службу диагностики</param> /// <param name="messagingCallContextAccessor">Ссылка на объект для доступа к контексту вызова</param> /// <exception cref="ArgumentOutOfRangeException"></exception> public QueueTransactedPollingReactor( IMessageAdapterWithTransactions messageAdapter, IEnumerable <IMessageProcessor> messageProcessors, IEnumerable <IMessageProcessorAsync> asyncMessageProcessors, int subscribeInterval, string pollingId, bool?serviceHealthDependent, IHealthCheckingService healthCheckingService, IMessagingCallContextAccessor messagingCallContextAccessor) : base(messageAdapter, messageProcessors, asyncMessageProcessors, subscribeInterval, pollingId, serviceHealthDependent, healthCheckingService, messagingCallContextAccessor) { _transactedAdapter = messageAdapter.ThrowIfNull(nameof(messageAdapter)); }
/// <summary> /// Конструктор, инициализирующий экземпляр зависимостями /// <see cref="IMessageAdapter"/> и <see cref="IMessageDeserializer"/>> /// </summary> /// <param name="adapter"></param> /// <param name="deserializer"></param> public TransactedMessageReceiver(IMessageAdapterWithTransactions adapter, IMessageDeserializer <TMessage> deserializer) : base(adapter, deserializer) { _adapter = adapter.ThrowIfNull(nameof(adapter)); }