From 85876688a9482c4a3da3defb355844d1e85d6ef4 Mon Sep 17 00:00:00 2001 From: Michael Samorokov Date: Mon, 20 Jan 2025 18:18:59 -0700 Subject: [PATCH] updated to .NET9 and cache ConnectionMultiplexer instead of IDatabase as per documentation --- Client/Client.csproj | 8 ++++---- Client/Program.cs | 5 ++--- Provider/Provider.csproj | 8 ++++---- Provider/RedisStreamFactory.cs | 12 ++++++------ Server/Program.cs | 4 ++-- Server/Server.csproj | 8 ++++---- 6 files changed, 22 insertions(+), 23 deletions(-) diff --git a/Client/Client.csproj b/Client/Client.csproj index ce9902e..45633c4 100644 --- a/Client/Client.csproj +++ b/Client/Client.csproj @@ -2,15 +2,15 @@ Exe - net8.0 + net9.0 enable enable - - - + + + diff --git a/Client/Program.cs b/Client/Program.cs index 3cef062..1b6a20f 100644 --- a/Client/Program.cs +++ b/Client/Program.cs @@ -9,10 +9,9 @@ using StackExchange.Redis; using IHost host = new HostBuilder() .UseOrleansClient(clientBuilder => { - clientBuilder.Services.AddSingleton(sp => + clientBuilder.Services.AddSingleton(sp => { - IDatabase db = ConnectionMultiplexer.Connect("localhost").GetDatabase(); - return db; + return ConnectionMultiplexer.Connect("localhost"); }); clientBuilder.UseLocalhostClustering(); diff --git a/Provider/Provider.csproj b/Provider/Provider.csproj index bf92fe9..5703a5f 100644 --- a/Provider/Provider.csproj +++ b/Provider/Provider.csproj @@ -1,15 +1,15 @@  - net8.0 + net9.0 enable enable - - - + + + diff --git a/Provider/RedisStreamFactory.cs b/Provider/RedisStreamFactory.cs index a25c1ab..9041332 100644 --- a/Provider/RedisStreamFactory.cs +++ b/Provider/RedisStreamFactory.cs @@ -9,14 +9,14 @@ namespace Provider { public class RedisStreamFactory : IQueueAdapterFactory { - private readonly IDatabase _database; + private readonly IConnectionMultiplexer _connectionMultiplexer; private readonly ILoggerFactory _loggerFactory; private readonly string _providerName; private readonly IStreamFailureHandler _streamFailureHandler; private readonly SimpleQueueCacheOptions _simpleQueueCacheOptions; private readonly HashRingBasedStreamQueueMapper _hashRingBasedStreamQueueMapper; - public RedisStreamFactory(IDatabase database, + public RedisStreamFactory(IConnectionMultiplexer connectionMultiplexer, ILoggerFactory loggerFactory, string providerName, IStreamFailureHandler streamFailureHandler, @@ -24,7 +24,7 @@ namespace Provider HashRingStreamQueueMapperOptions hashRingStreamQueueMapperOptions ) { - _database = database; + _connectionMultiplexer = connectionMultiplexer; _loggerFactory = loggerFactory; _providerName = providerName; _streamFailureHandler = streamFailureHandler; @@ -34,18 +34,18 @@ namespace Provider public static IQueueAdapterFactory Create(IServiceProvider provider, string providerName) { - var database = provider.GetRequiredService(); + var connMuliplexer = provider.GetRequiredService(); var loggerFactory = provider.GetRequiredService(); var simpleQueueCacheOptions = provider.GetOptionsByName(providerName); var hashRingStreamQueueMapperOptions = provider.GetOptionsByName(providerName); var streamFailureHandler = new RedisStreamFailureHandler(loggerFactory.CreateLogger()); - return new RedisStreamFactory(database, loggerFactory, providerName, streamFailureHandler, simpleQueueCacheOptions, hashRingStreamQueueMapperOptions); + return new RedisStreamFactory(connMuliplexer, loggerFactory, providerName, streamFailureHandler, simpleQueueCacheOptions, hashRingStreamQueueMapperOptions); } public Task CreateAdapter() { - return Task.FromResult(new RedisStreamAdapter(_database, _providerName, _hashRingBasedStreamQueueMapper, _loggerFactory)); + return Task.FromResult(new RedisStreamAdapter(_connectionMultiplexer.GetDatabase(), _providerName, _hashRingBasedStreamQueueMapper, _loggerFactory)); } public Task GetDeliveryFailureHandler(QueueId queueId) diff --git a/Server/Program.cs b/Server/Program.cs index 51e15be..61c9a86 100644 --- a/Server/Program.cs +++ b/Server/Program.cs @@ -10,9 +10,9 @@ var builder = new HostBuilder() .UseOrleans(silo => { silo.UseLocalhostClustering(); - silo.Services.AddSingleton(sp => + silo.Services.AddSingleton(sp => { - return ConnectionMultiplexer.Connect("localhost").GetDatabase(); + return ConnectionMultiplexer.Connect("localhost"); }); silo.ConfigureLogging(logging => logging.AddConsole()); silo.AddMemoryGrainStorage("PubSubStore"); diff --git a/Server/Server.csproj b/Server/Server.csproj index a6e6fa8..fe8d26c 100644 --- a/Server/Server.csproj +++ b/Server/Server.csproj @@ -2,15 +2,15 @@ Exe - net8.0 + net9.0 enable enable - - - + + +