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();