RabbitMQ: update version. refactoring

This commit is contained in:
Alexey Bannov 2023-08-08 14:43:29 +03:00
parent c5d4272685
commit 96834370d8
5 changed files with 17 additions and 5 deletions

View File

@ -18,7 +18,7 @@
<PackageReference Include="AspNetCore.HealthChecks.Kafka" Version="6.0.3" />
<PackageReference Include="AspNetCore.HealthChecks.MySql" Version="6.0.2" />
<PackageReference Include="AspNetCore.HealthChecks.NpgSql" Version="6.0.2" />
<PackageReference Include="AspNetCore.HealthChecks.Rabbitmq" Version="6.0.2" />
<PackageReference Include="AspNetCore.HealthChecks.Rabbitmq" Version="7.0.0" />
<PackageReference Include="AspNetCore.HealthChecks.Redis" Version="6.0.4" />
<PackageReference Include="AspNetCore.HealthChecks.UI.Client" Version="6.0.5" />
<PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="12.0.0" />

View File

@ -131,7 +131,7 @@ public static class CustomHealthCheck
if (rabbitMQConfiguration != null)
{
hcBuilder.AddRabbitMQ(x => rabbitMQConfiguration.GetConnectionFactory(),
hcBuilder.AddRabbitMQ(x => x.ConnectionFactory = rabbitMQConfiguration.GetConnectionFactory(),
name: "rabbitMQ",
tags: new string[] { "rabbitMQ", "services" },
timeout: new TimeSpan(0, 0, 15));

View File

@ -59,7 +59,7 @@
<PackageReference Include="NLog.Targets.Syslog" Version="7.0.0" />
<PackageReference Include="NVelocity" Version="1.2.0" />
<PackageReference Include="protobuf-net" Version="3.1.26" />
<PackageReference Include="RabbitMQ.Client" Version="6.4.0" />
<PackageReference Include="RabbitMQ.Client" Version="6.5.0" />
<PackageReference Include="StackExchange.Redis" Version="2.6.90" />
<PackageReference Include="StackExchange.Redis.Extensions.Core" Version="8.0.5" />
</ItemGroup>

View File

@ -9,7 +9,7 @@
<ItemGroup>
<PackageReference Include="Polly" Version="7.2.3" />
<PackageReference Include="RabbitMQ.Client" Version="6.4.0" />
<PackageReference Include="RabbitMQ.Client" Version="6.5.0" />
</ItemGroup>
<ItemGroup>

View File

@ -88,7 +88,19 @@ public class DefaultRabbitMQPersistentConnection
_logger.InformationRabbitMQTryingConnect();
lock (sync_root)
{
{
if (_connection != null)
{
while (!IsConnected) // waiting automatic recovery connection
{
Thread.Sleep(1000);
}
_logger.InformationRabbitMQAcquiredPersistentConnection(_connection.Endpoint.HostName);
return true;
}
var policy = Policy.Handle<SocketException>()
.Or<BrokerUnreachableException>()
.WaitAndRetry(_retryCount, retryAttempt => TimeSpan.FromSeconds(Math.Pow(2, retryAttempt)), (ex, time) =>