public async Task SendAndReceiveFromAzureQueue() { var options = new AzureQueueOptions { ConnectionString = TestDefaultConfiguration.DataConnectionString, MessageVisibilityTimeout = TimeSpan.FromSeconds(30), QueueNames = azureQueueNames }; var serializationManager = this.fixture.Services.GetService <SerializationManager>(); var clusterOptions = this.fixture.Services.GetRequiredService <IOptions <ClusterOptions> >(); var queueCacheOptions = new SimpleQueueCacheOptions(); var queueDataAdapter = new AzureQueueDataAdapterV2(serializationManager); var adapterFactory = new AzureQueueAdapterFactory( AZURE_QUEUE_STREAM_PROVIDER_NAME, options, queueCacheOptions, queueDataAdapter, this.fixture.Services, clusterOptions, serializationManager, loggerFactory); adapterFactory.Init(); await SendAndReceiveFromQueueAdapter(adapterFactory); }
public KafkaAdapterFactory( string name, KafkaStreamOptions options, SimpleQueueCacheOptions cacheOptions, SerializationManager serializationManager, ILoggerFactory loggerFactory, IGrainFactory grainFactory ) { _options = options ?? throw new ArgumentNullException(nameof(options)); _name = name; _serializationManager = serializationManager; _loggerFactory = loggerFactory; _grainFactory = grainFactory; _logger = loggerFactory.CreateLogger <KafkaAdapterFactory>(); if (options.Topics != null && options.Topics.Count == 0) { throw new ArgumentNullException(nameof(options.Topics)); } _adapterCache = new SimpleQueueAdapterCache( cacheOptions, name, loggerFactory ); _queueProperties = GetQueuesProperties(); _streamQueueMapper = new ExternalQueueMapper(_queueProperties.Values); }
public RabbitMQAdapterFactory( string name, RabbitMQStreamProviderOptions config, HashRingStreamQueueMapperOptions queueMapperOptions, SimpleQueueCacheOptions cacheOptions, IServiceProvider serviceProvider, IOptions <ClusterOptions> clusterOptions, SerializationManager serializationManager, ILoggerFactory loggerFactory, IMessageSerializationHandler serializationHandler, IRabbitMQMapper mapper) { _config = config; _providerName = name; _loggeFactory = loggerFactory; _serializationHandler = serializationHandler; _mapper = mapper; _mapper.Init( ); _cacheSize = cacheOptions.CacheSize; _adapterCache = new SimpleQueueAdapterCache(cacheOptions, _providerName, _loggeFactory); _streamQueueMapper = new HashRingBasedStreamQueueMapper(queueMapperOptions, _providerName); }
public KafkaAdapterFactory( string name, KafkaStreamOptions options, SimpleQueueCacheOptions cacheOptions, SerializationManager serializationManager, ILoggerFactory loggerFactory, IGrainFactory grainFactory ) : this(name, options, cacheOptions, serializationManager, loggerFactory, grainFactory, null) { if (options.Topics.Any(topic => topic.IsExternal)) { throw new InvalidOperationException( "Cannot have external topic with no 'IExternalDeserializer' defined. Use 'AddJson' or 'AddAvro'" ); } }
public AzureQueueAdapterFactory( string name, AzureQueueOptions options, SimpleQueueCacheOptions cacheOptions, IQueueDataAdapter <string, IBatchContainer> dataAdapter, IOptions <ClusterOptions> clusterOptions, ILoggerFactory loggerFactory) { this.providerName = name; this.options = options ?? throw new ArgumentNullException(nameof(options)); this.dataAdapter = dataAdapter ?? throw new ArgumentNullException(nameof(dataAdapter));; this.clusterOptions = clusterOptions.Value; this.loggerFactory = loggerFactory ?? throw new ArgumentNullException(nameof(loggerFactory)); this.streamQueueMapper = new AzureStreamQueueMapper(options.QueueNames, providerName); this.adapterCache = new SimpleQueueAdapterCache(cacheOptions, this.providerName, this.loggerFactory); }
public ServiceBusAdapterFactory( ILoggerFactory loggerFactory, string name, ServiceBusOptions options, SimpleQueueCacheOptions cacheOptions, IOptions <ClusterOptions> clusterOptions, SerializationManager serializationManager) { _providerName = name; _options = options ?? throw new ArgumentNullException(nameof(options)); _clusterOptions = clusterOptions.Value; SerializationManager = serializationManager ?? throw new ArgumentNullException(nameof(serializationManager)); _loggerFactory = loggerFactory ?? throw new ArgumentNullException(nameof(loggerFactory)); _streamQueueMapper = new ServiceBusStreamQueueMapper(options, $"{options.QueuePrefix}-{name}"); _adapterCache = new SimpleQueueAdapterCache(cacheOptions, _providerName, _loggerFactory); }
public PubSubAdapterFactory( string name, PubSubOptions options, HashRingStreamQueueMapperOptions queueMapperOptions, SimpleQueueCacheOptions cacheOptions, IServiceProvider serviceProvider, IOptions <ClusterOptions> clusterOptions, ILoggerFactory loggerFactory) { this._providerName = name; this.options = options; this.clusterOptions = clusterOptions.Value; this.loggerFactory = loggerFactory; this._adaptorFactory = () => ActivatorUtilities.GetServiceOrCreateInstance <TDataAdapter>(serviceProvider); this._streamQueueMapper = new HashRingBasedStreamQueueMapper(queueMapperOptions, this._providerName); this._adapterCache = new SimpleQueueAdapterCache(cacheOptions, this._providerName, loggerFactory); }
public SQSAdapterFactory( string name, SqsOptions sqsOptions, HashRingStreamQueueMapperOptions queueMapperOptions, SimpleQueueCacheOptions cacheOptions, IOptions <ClusterOptions> clusterOptions, Orleans.Serialization.Serializer serializer, ILoggerFactory loggerFactory) { this.providerName = name; this.sqsOptions = sqsOptions; this.clusterOptions = clusterOptions.Value; this.serializer = serializer.GetSerializer <SQSBatchContainer>(); this.loggerFactory = loggerFactory; streamQueueMapper = new HashRingBasedStreamQueueMapper(queueMapperOptions, this.providerName); adapterCache = new SimpleQueueAdapterCache(cacheOptions, this.providerName, this.loggerFactory); }
public TestAdapterFactory( string name, SimpleQueueCacheOptions cacheOptions, Func <IEnumerable <IBatchContainer> > queueMessagesProvider, Action <IEnumerable <IBatchContainer> > onMessagesDelivered, ILoggerFactory loggerFactory ) { _providerName = name; _queueMessagesProvider = queueMessagesProvider ?? throw new ArgumentNullException(nameof(queueMessagesProvider)); _onMessagesDelivered = onMessagesDelivered ?? throw new ArgumentNullException(nameof(onMessagesDelivered)); _loggerFactory = loggerFactory ?? throw new ArgumentNullException(nameof(loggerFactory)); _streamQueueMapper = new HashRingBasedStreamQueueMapper(new HashRingStreamQueueMapperOptions() { TotalQueueCount = 1 }, _providerName); _adapterCache = new SimpleQueueAdapterCache(cacheOptions, _providerName, _loggerFactory); }
public SQSAdapterFactory( string name, SqsOptions sqsOptions, HashRingStreamQueueMapperOptions queueMapperOptions, SimpleQueueCacheOptions cacheOptions, IServiceProvider serviceProvider, IOptions <ClusterOptions> clusterOptions, SerializationManager serializationManager, ILoggerFactory loggerFactory) { this.providerName = name; this.sqsOptions = sqsOptions; this.clusterOptions = clusterOptions.Value; this.serializationManager = serializationManager; this.loggerFactory = loggerFactory; streamQueueMapper = new HashRingBasedStreamQueueMapper(queueMapperOptions, this.providerName); adapterCache = new SimpleQueueAdapterCache(cacheOptions, this.providerName, this.loggerFactory); }
public AzureQueueAdapterFactory( string name, AzureQueueOptions options, SimpleQueueCacheOptions cacheOptions, IServiceProvider serviceProvider, IOptions <ClusterOptions> clusterOptions, SerializationManager serializationManager, ILoggerFactory loggerFactory) { this.providerName = name; this.options = options ?? throw new ArgumentNullException(nameof(options)); this.clusterOptions = clusterOptions.Value; this.SerializationManager = serializationManager ?? throw new ArgumentNullException(nameof(serializationManager)); this.loggerFactory = loggerFactory ?? throw new ArgumentNullException(nameof(loggerFactory)); this.dataAadaptorFactory = () => ActivatorUtilities.GetServiceOrCreateInstance <TDataAdapter>(serviceProvider); this.streamQueueMapper = new AzureStreamQueueMapper(options.QueueNames, providerName); this.adapterCache = new SimpleQueueAdapterCache(cacheOptions, this.providerName, this.loggerFactory); }
public RabbitMQAdapterFactory( string name, RabbitMQStreamProviderOptions options, HashRingStreamQueueMapperOptions queueMapperOptions, SimpleQueueCacheOptions cacheOptions, IServiceProvider serviceProvider, IOptions <ClusterOptions> clusterOptions, SerializationManager serializationManager, ILoggerFactory loggerFactory) { providerName = name; this.options = options ?? throw new ArgumentNullException(nameof(options)); this.clusterOptions = clusterOptions.Value; //this.SerializationManager = serializationManager ?? throw new ArgumentNullException(nameof(serializationManager)); this.loggerFactory = loggerFactory ?? throw new ArgumentNullException(nameof(loggerFactory)); streamQueueMapper = new HashRingBasedStreamQueueMapper(queueMapperOptions, providerName); adapterCache = new SimpleQueueAdapterCache(cacheOptions, providerName, this.loggerFactory); mapper = ActivatorUtilities.GetServiceOrCreateInstance <TMapper>(serviceProvider); }
public EventStoreAdapterFactory(string providerName, EventStoreRepositoryConfiguration eventStoreRepositoryConfiguration, ILoggerFactory loggerFactory) { _loggerFactory = loggerFactory; _providerName = providerName; _eventStoreRepositoryConfiguration = eventStoreRepositoryConfiguration; var options = new SimpleQueueCacheOptions() { CacheSize = 100 }; _eventStoreQueueAdapterCache = new SimpleQueueAdapterCache(options, _providerName, _loggerFactory); var hashRingStreamQueueMapperOptions = new HashRingStreamQueueMapperOptions() { TotalQueueCount = 1 }; _streamQueueMapper = new HashRingBasedStreamQueueMapper(hashRingStreamQueueMapperOptions, _providerName); }
public KafkaAdapterFactory( string name, KafkaStreamOptions options, SimpleQueueCacheOptions cacheOptions, SerializationManager serializationManager, ILoggerFactory loggerFactory, IGrainFactory grainFactory, IExternalStreamDeserializer externalDeserializer ) { _options = options ?? throw new ArgumentNullException(nameof(options)); _name = name; _serializationManager = serializationManager; _loggerFactory = loggerFactory; _grainFactory = grainFactory; _externalDeserializer = externalDeserializer; _logger = loggerFactory.CreateLogger <KafkaAdapterFactory>(); _adminConfig = new AdminClientBuilder(options.ToAdminProperties()); if (options.Topics != null && options.Topics.Count == 0) { throw new ArgumentNullException(nameof(options.Topics)); } _adapterCache = new SimpleQueueAdapterCache( cacheOptions, name, loggerFactory ); _queueProperties = GetQueuesProperties().ToDictionary(q => q.QueueName); _streamQueueMapper = new ExternalQueueMapper(_queueProperties.Values); _config = _options.ToAdminProperties(); }
public DefaultTopologyProvider(string providerName, IOptionsMonitor <RabbitMqOptions> optionsAccessor, IOptionsMonitor <SimpleQueueCacheOptions> cacheOptionsAccessor) { this.options = optionsAccessor.Get(providerName); this.cacheOptions = cacheOptionsAccessor.Get(providerName); }
/// <summary> /// Adapter for simple queue caches /// </summary> /// <param name="options"></param> /// <param name="providerName"></param> /// <param name="loggerFactory"></param> public SimpleQueueAdapterCache(SimpleQueueCacheOptions options, string providerName, ILoggerFactory loggerFactory) { this.cacheSize = options.CacheSize; this.loggerFactory = loggerFactory; this.providerName = providerName; }
public RedisQueueAdapterFactory( string name, RedisStreamOptions options, IConnectionMultiplexerFactory connectionMultiplexerFactory, HashRingStreamQueueMapperOptions queueMapperOptions, SimpleQueueCacheOptions cacheOptions, IServiceProvider serviceProvider, IOptions <ClusterOptions> clusterOptions, IRedisDataAdapter dataAdapter, ILogger logger, ISerializationManager serializationManager) { if (string.IsNullOrEmpty(name)) { throw new ArgumentNullException(nameof(name)); } if (options == null) { throw new ArgumentNullException(nameof(options)); } if (connectionMultiplexerFactory == null) { throw new ArgumentNullException(nameof(connectionMultiplexerFactory)); } if (queueMapperOptions == null) { throw new ArgumentNullException(nameof(queueMapperOptions)); } if (cacheOptions == null) { throw new ArgumentNullException(nameof(cacheOptions)); } if (serviceProvider == null) { throw new ArgumentNullException(nameof(serviceProvider)); } if (clusterOptions == null) { throw new ArgumentNullException(nameof(clusterOptions)); } if (dataAdapter == null) { throw new ArgumentNullException(nameof(dataAdapter)); } if (serializationManager == null) { throw new ArgumentNullException(nameof(serializationManager)); } _providerName = name; _options = options; _connectionMultiplexerFactory = connectionMultiplexerFactory; _clusterOptions = clusterOptions.Value; _logger = logger.ForContext <RedisQueueAdapterFactory>(); _dataAdapter = dataAdapter; _streamQueueMapper = new HashRingBasedStreamQueueMapper(queueMapperOptions, _providerName); var microsoftLoggerFactory = serviceProvider.GetService <Microsoft.Extensions.Logging.ILoggerFactory>(); _adapterCache = new SimpleQueueAdapterCache(cacheOptions, _providerName, microsoftLoggerFactory); }