コード例 #1
0
        public RabbitQueuesFactory(
            IExceptionHandlersFactory <RabbitMessageDescription> exceptionHandlersFactory,
            ILoggerFactory loggerFactory,
            IOptions <TypedRabbitQueuesFactoryOptions> options)
        {
            if (exceptionHandlersFactory == null)
            {
                throw new ArgumentNullException(nameof(exceptionHandlersFactory));
            }
            if (loggerFactory == null)
            {
                throw new ArgumentNullException(nameof(loggerFactory));
            }
            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            _exceptionHandlersFactory = exceptionHandlersFactory;
            _loggerFactory            = loggerFactory;

            _hosts = options.Value.Hosts;
            _connectionsFactory
                = new ConnectionFactory
                {
                UserName = options.Value.Credentials.UserName,
                Password = options.Value.Credentials.Password,
                AutomaticRecoveryEnabled = true,
                NetworkRecoveryInterval  = options.Value.NetworkRecoveryInterval,
                TopologyRecoveryEnabled  = true,
                DispatchConsumersAsync   = true
                };
        }
コード例 #2
0
 public QueuesFactoryForTests(
     IExceptionHandlersFactory <RabbitMessageDescription> exceptionHandlersFactory,
     ILoggerFactory loggerFactory,
     IOptions <TypedRabbitQueuesFactoryOptions> options,
     IConnection connection,
     ITypedQueue <ErrorInformation> errorsQueue)
     : base(exceptionHandlersFactory, loggerFactory, options)
 {
     _connection  = connection;
     _errorsQueue = errorsQueue;
 }