From d96a6a6f1da7a517c9dbae5b396b5bfd9024a05c Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Thu, 13 May 2021 10:28:06 +0800 Subject: [PATCH] Remove item connection creation fails --- .../Volo/Abp/RabbitMQ/ConnectionPool.cs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/ConnectionPool.cs b/framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/ConnectionPool.cs index c227d978a1..58ae4e2968 100644 --- a/framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/ConnectionPool.cs +++ b/framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/ConnectionPool.cs @@ -25,7 +25,7 @@ namespace Volo.Abp.RabbitMQ { connectionName ??= RabbitMqConnections.DefaultConnectionName; - return Connections.GetOrAdd( + var lazyConnection = Connections.GetOrAdd( connectionName, () => new Lazy(() => { var connection = Options.Connections.GetOrDefault(connectionName); @@ -34,7 +34,14 @@ namespace Volo.Abp.RabbitMQ return hostnames.Length == 1 ? connection.CreateConnection() : connection.CreateConnection(hostnames); }) - ).Value; + ); + + if (!lazyConnection.IsValueCreated) + { + Connections.TryRemove(connectionName, out _); + } + + return lazyConnection.Value; } public void Dispose()