public TransportInfrastructure(SettingsHolder settings)
        {
            configuration = new ConnectionConfiguration(settings);

            sqsClient = AwsClientFactory.CreateSqsClient(configuration);
            s3Client  = AwsClientFactory.CreateS3Client(configuration);

            queueUrlCache = new QueueUrlCache(sqsClient);
        }
示例#2
0
        public SqsTransportInfrastructure(SettingsHolder settings)
        {
            _connectionConfiguration = new SqsConnectionConfiguration(settings);

            _sqsClient = AwsClientFactory.CreateSqsClient(_connectionConfiguration);
            _s3Client  = AwsClientFactory.CreateS3Client(_connectionConfiguration);

            _sqsQueueUrlCache = new SqsQueueUrlCache
            {
                SqsClient = _sqsClient
            };
        }
        public SqsTestContext(object fixture)
        {
            Address = new Address(fixture.GetType().Name, Environment.MachineName);
            ConnectionConfiguration =
                SqsConnectionStringParser.Parse(ConfigurationManager.AppSettings["TestConnectionString"]);

            S3Client  = AwsClientFactory.CreateS3Client(ConnectionConfiguration);
            SqsClient = AwsClientFactory.CreateSqsClient(ConnectionConfiguration);

            Creator = new SqsQueueCreator
            {
                ConnectionConfiguration = ConnectionConfiguration,
                SqsClient = SqsClient,
                S3Client  = S3Client
            };

            _receivedMessages           = new Subject <TransportMessage>();
            _exceptionsThrownByReceiver = new Subject <Exception>();

            QueueUrlCache = new SqsQueueUrlCache
            {
                SqsClient = SqsClient,
                ConnectionConfiguration = ConnectionConfiguration
            };


            Sender = new SqsQueueSender
            {
                ConnectionConfiguration = ConnectionConfiguration,
                SqsClient     = SqsClient,
                S3Client      = S3Client,
                QueueUrlCache = QueueUrlCache,
                QueueCreator  = Creator
            };

            DequeueStrategy = new SqsDequeueStrategy(null)
            {
                ConnectionConfiguration = ConnectionConfiguration,
                SqsClient = SqsClient,
                S3Client  = S3Client
            };
        }
示例#4
0
        protected override void Configure(FeatureConfigurationContext context, string connectionString)
        {
            var connectionConfiguration = SqsConnectionStringParser.Parse(connectionString);

            context.Container.ConfigureComponent(_ => connectionConfiguration, DependencyLifecycle.SingleInstance);

            context.Container.ConfigureComponent(_ => AwsClientFactory.CreateSqsClient(connectionConfiguration), DependencyLifecycle.SingleInstance);

            context.Container.ConfigureComponent(_ => AwsClientFactory.CreateS3Client(connectionConfiguration), DependencyLifecycle.SingleInstance);

            context.Container.ConfigureComponent <SqsQueueUrlCache>(DependencyLifecycle.SingleInstance);

            context.Container.ConfigureComponent <SqsDequeueStrategy>(DependencyLifecycle.InstancePerCall);

            context.Container.ConfigureComponent <SqsQueueSender>(DependencyLifecycle.InstancePerCall);

            context.Container.ConfigureComponent <SqsQueueCreator>(DependencyLifecycle.InstancePerCall);

            if (context.Settings.UseSqsDeferral())
            {
                context.Container.ConfigureComponent <SqsDeferrer>(DependencyLifecycle.InstancePerCall);
            }
        }