diff --git a/Directory.Packages.props b/Directory.Packages.props index 59f2207..c106d10 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -1,40 +1,40 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Orleans/AmqpProtocol/Builder/RabbitMqClientOptionsBuilder.cs b/src/Orleans/AmqpProtocol/Builder/RabbitMqClientOptionsBuilder.cs index 5a6b78b..11f113e 100644 --- a/src/Orleans/AmqpProtocol/Builder/RabbitMqClientOptionsBuilder.cs +++ b/src/Orleans/AmqpProtocol/Builder/RabbitMqClientOptionsBuilder.cs @@ -3,6 +3,7 @@ namespace Escendit.Orleans.Streaming.RabbitMQ.AmqpProtocol.Builder; +using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using RabbitMQ.Builder; @@ -11,21 +12,42 @@ namespace Escendit.Orleans.Streaming.RabbitMQ.AmqpProtocol.Builder; /// internal class RabbitMqClientOptionsBuilder : IRabbitMqClientOptionsBuilder { +#if NET8_0_OR_GREATER /// /// Initializes a new instance of the class. /// /// The name. /// The services. + /// The configuration. /// The configurator. public RabbitMqClientOptionsBuilder( string name, IServiceCollection services, + IConfiguration configuration, ClusterClientPersistentStreamConfigurator configurator) { Name = name; Services = services; + Configuration = configuration; Configurator = configurator; } +#else + /// + /// Initializes a new instance of the class. + /// + /// The name. + /// The services. + /// The configurator. + public RabbitMqClientOptionsBuilder( + string name, + IServiceCollection services, + ClusterClientPersistentStreamConfigurator configurator) + { + Name = name; + Services = services; + Configurator = configurator; + } +#endif /// public string Name { get; } @@ -33,6 +55,11 @@ public RabbitMqClientOptionsBuilder( /// public IServiceCollection Services { get; } +#if NET8_0_OR_GREATER + /// + public IConfiguration Configuration { get; } +#endif + /// public ClusterClientPersistentStreamConfigurator Configurator { get; } diff --git a/src/Orleans/AmqpProtocol/Builder/RabbitMqSiloOptionsBuilder.cs b/src/Orleans/AmqpProtocol/Builder/RabbitMqSiloOptionsBuilder.cs index 4f3d6f8..ac5425e 100644 --- a/src/Orleans/AmqpProtocol/Builder/RabbitMqSiloOptionsBuilder.cs +++ b/src/Orleans/AmqpProtocol/Builder/RabbitMqSiloOptionsBuilder.cs @@ -3,6 +3,7 @@ namespace Escendit.Orleans.Streaming.RabbitMQ.AmqpProtocol.Builder; +using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using RabbitMQ.Builder; @@ -11,6 +12,22 @@ namespace Escendit.Orleans.Streaming.RabbitMQ.AmqpProtocol.Builder; /// internal class RabbitMqSiloOptionsBuilder : IRabbitMqSiloOptionsBuilder { +#if NET8_0_OR_GREATER + /// + /// Initializes a new instance of the class. + /// + /// The name. + /// The services. + /// The configuration. + /// The configurator. + public RabbitMqSiloOptionsBuilder(string name, IServiceCollection services, IConfiguration configuration, SiloPersistentStreamConfigurator configurator) + { + Name = name; + Services = services; + Configuration = configuration; + Configurator = configurator; + } +#else /// /// Initializes a new instance of the class. /// @@ -23,6 +40,7 @@ public RabbitMqSiloOptionsBuilder(string name, IServiceCollection services, Silo Services = services; Configurator = configurator; } +#endif /// public string Name { get; } @@ -30,6 +48,11 @@ public RabbitMqSiloOptionsBuilder(string name, IServiceCollection services, Silo /// public IServiceCollection Services { get; } +#if NET8_0_OR_GREATER + /// + public IConfiguration Configuration { get; } +#endif + /// public SiloPersistentStreamConfigurator Configurator { get; } diff --git a/src/Orleans/AmqpProtocol/Hosting/ClientBuilderExtensions.cs b/src/Orleans/AmqpProtocol/Hosting/ClientBuilderExtensions.cs index db71168..c9bb4dd 100644 --- a/src/Orleans/AmqpProtocol/Hosting/ClientBuilderExtensions.cs +++ b/src/Orleans/AmqpProtocol/Hosting/ClientBuilderExtensions.cs @@ -30,7 +30,13 @@ public static IRabbitMqClientOptionsBuilder UseAmqpProtocol(this IRabbitMqClient configurator.Configure(options => options.Configure(configureOptions)); clientBuilder.ConfigureServices(services => services .AddRabbitMqConnection(clientBuilder.Name, configureOptions)); - return new RabbitMqClientOptionsBuilder(clientBuilder.Name, clientBuilder.Services, configurator) + return new RabbitMqClientOptionsBuilder( + clientBuilder.Name, + clientBuilder.Services, +#if NET8_0_OR_GREATER + clientBuilder.Configuration, +#endif + configurator) .AddSimpleQueueCache() .AddHashRingStreamQueueMapper(); } diff --git a/src/Orleans/AmqpProtocol/Hosting/SiloBuilderExtensions.cs b/src/Orleans/AmqpProtocol/Hosting/SiloBuilderExtensions.cs index 5d0be58..1ecc4c8 100644 --- a/src/Orleans/AmqpProtocol/Hosting/SiloBuilderExtensions.cs +++ b/src/Orleans/AmqpProtocol/Hosting/SiloBuilderExtensions.cs @@ -29,6 +29,9 @@ public static IRabbitMqSiloOptionsBuilder UseAmqpProtocol(this IRabbitMqSiloProt return new RabbitMqSiloOptionsBuilder( siloBuilder.Name, siloBuilder.Services, +#if NET8_0_OR_GREATER + siloBuilder.Configuration, +#endif new SiloConfigurator( siloBuilder.Name, configureDelegate => siloBuilder diff --git a/src/Orleans/RabbitMQ/Builder/RabbitMqClientProtocolBuilder.cs b/src/Orleans/RabbitMQ/Builder/RabbitMqClientProtocolBuilder.cs index aa19c61..0f276ef 100644 --- a/src/Orleans/RabbitMQ/Builder/RabbitMqClientProtocolBuilder.cs +++ b/src/Orleans/RabbitMQ/Builder/RabbitMqClientProtocolBuilder.cs @@ -3,6 +3,7 @@ namespace Escendit.Orleans.Streaming.RabbitMQ.Builder; +using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; /// @@ -10,6 +11,20 @@ namespace Escendit.Orleans.Streaming.RabbitMQ.Builder; /// public class RabbitMqClientProtocolBuilder : IRabbitMqClientProtocolBuilder { +#if NET8_0_OR_GREATER + /// + /// Initializes a new instance of the class. + /// + /// The name. + /// The services. + /// The configuration. + public RabbitMqClientProtocolBuilder(string name, IServiceCollection services, IConfiguration configuration) + { + Name = name; + Services = services; + Configuration = configuration; + } +#else /// /// Initializes a new instance of the class. /// @@ -20,6 +35,7 @@ public RabbitMqClientProtocolBuilder(string name, IServiceCollection services) Name = name; Services = services; } +#endif /// public string Name { get; } @@ -27,6 +43,11 @@ public RabbitMqClientProtocolBuilder(string name, IServiceCollection services) /// public IServiceCollection Services { get; } +#if NET8_0_OR_GREATER + /// + public IConfiguration Configuration { get; } +#endif + /// public IServiceCollection Build() { diff --git a/src/Orleans/RabbitMQ/Builder/RabbitMqSiloProtocolBuilder.cs b/src/Orleans/RabbitMQ/Builder/RabbitMqSiloProtocolBuilder.cs index f74ac76..0eaff69 100644 --- a/src/Orleans/RabbitMQ/Builder/RabbitMqSiloProtocolBuilder.cs +++ b/src/Orleans/RabbitMQ/Builder/RabbitMqSiloProtocolBuilder.cs @@ -3,6 +3,7 @@ namespace Escendit.Orleans.Streaming.RabbitMQ.Builder; +using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; /// @@ -10,6 +11,20 @@ namespace Escendit.Orleans.Streaming.RabbitMQ.Builder; /// public class RabbitMqSiloProtocolBuilder : IRabbitMqSiloProtocolBuilder { +#if NET8_0_OR_GREATER + /// + /// Initializes a new instance of the class. + /// + /// The name. + /// The initial services. + /// The configuration. + public RabbitMqSiloProtocolBuilder(string name, IServiceCollection services, IConfiguration configuration) + { + Name = name; + Services = services; + Configuration = configuration; + } +#else /// /// Initializes a new instance of the class. /// @@ -20,6 +35,7 @@ public RabbitMqSiloProtocolBuilder(string name, IServiceCollection services) Name = name; Services = services; } +#endif /// public string Name { get; } @@ -27,6 +43,11 @@ public RabbitMqSiloProtocolBuilder(string name, IServiceCollection services) /// public IServiceCollection Services { get; } +#if NET8_0_OR_GREATER + /// + public IConfiguration Configuration { get; } +#endif + /// public IServiceCollection Build() { diff --git a/src/Orleans/RabbitMQ/Hosting/ClientBuilderExtensions.cs b/src/Orleans/RabbitMQ/Hosting/ClientBuilderExtensions.cs index 9bb66e2..983769d 100644 --- a/src/Orleans/RabbitMQ/Hosting/ClientBuilderExtensions.cs +++ b/src/Orleans/RabbitMQ/Hosting/ClientBuilderExtensions.cs @@ -24,7 +24,11 @@ public static IRabbitMqClientProtocolBuilder AddRabbitMq( { ArgumentNullException.ThrowIfNull(clientBuilder); ArgumentNullException.ThrowIfNull(name); + #if NET8_0_OR_GREATER + return new RabbitMqClientProtocolBuilder(name, clientBuilder.Services, clientBuilder.Configuration); + #else return new RabbitMqClientProtocolBuilder(name, clientBuilder.Services); + #endif } /// diff --git a/src/Orleans/RabbitMQ/Hosting/SiloBuilderExtensions.cs b/src/Orleans/RabbitMQ/Hosting/SiloBuilderExtensions.cs index 2dc3147..82606c9 100644 --- a/src/Orleans/RabbitMQ/Hosting/SiloBuilderExtensions.cs +++ b/src/Orleans/RabbitMQ/Hosting/SiloBuilderExtensions.cs @@ -25,7 +25,16 @@ public static IRabbitMqSiloProtocolBuilder AddRabbitMq( { ArgumentNullException.ThrowIfNull(siloBuilder); ArgumentNullException.ThrowIfNull(name); - return new RabbitMqSiloProtocolBuilder(name, siloBuilder.Services); +#if NET8_0_OR_GREATER + return new RabbitMqSiloProtocolBuilder( + name, + siloBuilder.Services, + siloBuilder.Configuration); +#else + return new RabbitMqSiloProtocolBuilder( + name, + siloBuilder.Services); +#endif } /// diff --git a/src/Orleans/StreamProtocol/Builder/RabbitMqClientOptionsBuilder.cs b/src/Orleans/StreamProtocol/Builder/RabbitMqClientOptionsBuilder.cs index fda9fa5..0c466d5 100644 --- a/src/Orleans/StreamProtocol/Builder/RabbitMqClientOptionsBuilder.cs +++ b/src/Orleans/StreamProtocol/Builder/RabbitMqClientOptionsBuilder.cs @@ -4,6 +4,7 @@ namespace Escendit.Orleans.Streaming.RabbitMQ.StreamProtocol.Builder; using Escendit.Orleans.Streaming.RabbitMQ.Builder; +using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; /// @@ -11,21 +12,42 @@ namespace Escendit.Orleans.Streaming.RabbitMQ.StreamProtocol.Builder; /// internal sealed class RabbitMqClientOptionsBuilder : IRabbitMqClientOptionsBuilder { +#if NET8_0_OR_GREATER /// /// Initializes a new instance of the class. /// /// The name. /// The services. + /// The configuration. /// The configurator. public RabbitMqClientOptionsBuilder( string name, IServiceCollection services, + IConfiguration configuration, ClusterClientPersistentStreamConfigurator configurator) { Name = name; Services = services; + Configuration = configuration; Configurator = configurator; } +#else + /// + /// Initializes a new instance of the class. + /// + /// The name. + /// The services. + /// The configurator. + public RabbitMqClientOptionsBuilder( + string name, + IServiceCollection services, + ClusterClientPersistentStreamConfigurator configurator) + { + Name = name; + Services = services; + Configurator = configurator; + } +#endif /// public string Name { get; } @@ -33,6 +55,11 @@ public RabbitMqClientOptionsBuilder( /// public IServiceCollection Services { get; } +#if NET8_0_OR_GREATER + /// + public IConfiguration Configuration { get; } +#endif + /// public ClusterClientPersistentStreamConfigurator Configurator { get; } diff --git a/src/Orleans/StreamProtocol/Builder/RabbitMqSiloOptionsBuilder.cs b/src/Orleans/StreamProtocol/Builder/RabbitMqSiloOptionsBuilder.cs index 69be023..7c8c3e1 100644 --- a/src/Orleans/StreamProtocol/Builder/RabbitMqSiloOptionsBuilder.cs +++ b/src/Orleans/StreamProtocol/Builder/RabbitMqSiloOptionsBuilder.cs @@ -4,6 +4,7 @@ namespace Escendit.Orleans.Streaming.RabbitMQ.StreamProtocol.Builder; using Escendit.Orleans.Streaming.RabbitMQ.Builder; +using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; /// @@ -11,6 +12,22 @@ namespace Escendit.Orleans.Streaming.RabbitMQ.StreamProtocol.Builder; /// internal sealed class RabbitMqSiloOptionsBuilder : IRabbitMqSiloOptionsBuilder { +#if NET8_0_OR_GREATER + /// + /// Initializes a new instance of the class. + /// + /// The name. + /// The services. + /// The configuration. + /// The configurator. + public RabbitMqSiloOptionsBuilder(string name, IServiceCollection services, IConfiguration configuration, SiloPersistentStreamConfigurator configurator) + { + Name = name; + Services = services; + Configuration = configuration; + Configurator = configurator; + } +#else /// /// Initializes a new instance of the class. /// @@ -23,6 +40,7 @@ public RabbitMqSiloOptionsBuilder(string name, IServiceCollection services, Silo Services = services; Configurator = configurator; } +#endif /// public string Name { get; } @@ -30,6 +48,11 @@ public RabbitMqSiloOptionsBuilder(string name, IServiceCollection services, Silo /// public IServiceCollection Services { get; } +#if NET8_0_OR_GREATER + /// + public IConfiguration Configuration { get; } +#endif + /// public SiloPersistentStreamConfigurator Configurator { get; } diff --git a/src/Orleans/StreamProtocol/Hosting/ClientBuilderExtensions.cs b/src/Orleans/StreamProtocol/Hosting/ClientBuilderExtensions.cs index 6cbd32a..bc8aaae 100644 --- a/src/Orleans/StreamProtocol/Hosting/ClientBuilderExtensions.cs +++ b/src/Orleans/StreamProtocol/Hosting/ClientBuilderExtensions.cs @@ -30,7 +30,13 @@ public static IRabbitMqClientOptionsBuilder UseStreamProtocol(this IRabbitMqClie clientBuilder .ConfigureServices(services => services .AddRabbitMqStreamSystem(clientBuilder.Name, configureOptions)); - return new RabbitMqClientOptionsBuilder(clientBuilder.Name, clientBuilder.Services, configurator) + return new RabbitMqClientOptionsBuilder( + clientBuilder.Name, + clientBuilder.Services, +#if NET8_0_OR_GREATER + clientBuilder.Configuration, +#endif + configurator) .AddSimpleQueueCache() .AddHashRingStreamQueueMapper(); } diff --git a/src/Orleans/StreamProtocol/Hosting/SiloBuilderExtensions.cs b/src/Orleans/StreamProtocol/Hosting/SiloBuilderExtensions.cs index bb98109..e3bd572 100644 --- a/src/Orleans/StreamProtocol/Hosting/SiloBuilderExtensions.cs +++ b/src/Orleans/StreamProtocol/Hosting/SiloBuilderExtensions.cs @@ -35,6 +35,9 @@ public static IRabbitMqSiloOptionsBuilder UseStreamProtocol(this IRabbitMqSiloPr return new RabbitMqSiloOptionsBuilder( siloBuilder.Name, siloBuilder.Services, +#if NET8_0_OR_GREATER + siloBuilder.Configuration, +#endif configurator) .AddSimpleQueueCache() .AddHashRingStreamQueueMapper();