Esempio n. 1
0
        public RabbitMqWrapper(
            IDateTimeProvider dateTimeProvider,
            ILogger logger,
            IConfigurationManager configurationManager,
            IRabbitMqConnectionManager connectionManager,
            IServiceMetrics serviceMetrics)
        {
            Logger            = logger;
            _dateTimeProvider = dateTimeProvider;
            _serviceMetrics   = serviceMetrics;

            QueueName = ServiceInfo.QueueName;

            // AutoAck is the opposite of AcknowledgeAfterProcessing
            // AcknowledgeAfterProcessing will ack the message after it's been processed,
            // while AutoAck (AcknowledgeAfterProcessing=False) will ack the message after it's
            // been pulled from the queue.
            _autoAck = !configurationManager.Get <bool>("AcknowledgeAfterProcessing", true);

            _durable = configurationManager.Get <bool>("QueueIsDurable", true);



            try
            {
                _amazonKinesisStreamName = configurationManager.Get <string>("MessageKinesisStream");
            }
            catch
            {
                _amazonKinesisStreamName = null;
            }


            try
            {
                _dataPumpLambdaName = configurationManager.Get <string>("DataPumpLambdaName");
            }
            catch
            {
                _dataPumpLambdaName = null;
            }


            if (!string.IsNullOrEmpty(_amazonKinesisStreamName))
            {
                _amazonFirehoseProducer = new AmazonFirehoseProducer(logger, configurationManager);
            }

            if (!string.IsNullOrEmpty(_dataPumpLambdaName))
            {
                _lambdaDataPump = new LambdaDataPump.LambdaDataPump(logger, _dataPumpLambdaName);
            }


            _maximumConcurrency = configurationManager.Get <ushort>("MaximumConcurrency", 0);

            _channelCache = new ChannelCache(connectionManager, Logger, QueueConstants.ExchangeName, ExchangeType.Topic,
                                             true, () => _serviceMetrics.RecordNewMainChannel());
        }
        public MongoStore(
            ILogger logger,
            IConfigurationManager configurationManager,
            IMongoClient mongoClient,
            IContainerFacade containerFacade)
        {
            var databaseUri = configurationManager.Get <string>("MongoDatabaseUri");

            _databaseName = configurationManager.Get <string>("MongoDatabaseName");

            try
            {
                _amazonKinesisStreamName = configurationManager.Get <string>("RepositoryKinesisStream");
            }
            catch
            {
                _amazonKinesisStreamName = null;
            }

            try
            {
                _dataPumpLambdaName = configurationManager.Get <string>("DataPumpLambdaName");
            }
            catch
            {
                _dataPumpLambdaName = null;
            }

            _client          = mongoClient;
            _containerFacade = containerFacade;
            _client.Create(databaseUri);
            Logger = logger;
            if (!string.IsNullOrEmpty(_amazonKinesisStreamName))
            {
                _amazonFirehoseProducer = new AmazonFirehoseProducer(logger, configurationManager);
            }

            if (!string.IsNullOrEmpty(_dataPumpLambdaName))
            {
                _lambdaDataPump = new LambdaDataPump(logger, _dataPumpLambdaName);
            }
        }
Esempio n. 3
0
        public DynamoStore(
            ILogger logger,
            IConfigurationManager configurationManager,
            IContainerFacade containerFacade,
            IDynamoClient dynamoClient
            )
        {
            _containerFacade = containerFacade;
            Logger           = logger;
            //_redisConn = ConnectionMultiplexer.Connect(configurationManager.AppSettings["RedisConnectionString"]);
            _context = dynamoClient.GetDatabase();


            try
            {
                _amazonKinesisStreamName = configurationManager.Get <string>("RepositoryKinesisStream");
            }
            catch
            {
                _amazonKinesisStreamName = null;
            }

            try
            {
                _dataPumpLambdaName = configurationManager.Get <string>("DataPumpLambdaName");
            }
            catch
            {
                _dataPumpLambdaName = null;
            }

            if (!string.IsNullOrEmpty(_amazonKinesisStreamName))
            {
                _amazonFirehoseProducer = new AmazonFirehoseProducer(logger, configurationManager);
            }

            if (!string.IsNullOrEmpty(_dataPumpLambdaName))
            {
                _lambdaDataPump = new LambdaDataPump(logger, _dataPumpLambdaName);
            }
        }