From 104b4d0a94f09f9aaff114cb81a812a01d2ba838 Mon Sep 17 00:00:00 2001 From: Liu Ke <56467036+scrapstation@users.noreply.github.com> Date: Wed, 22 Apr 2026 14:39:41 +0000 Subject: [PATCH] fix(#25310): revent hanging when acquiring closed channel after rabbitmq restart --- .../src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/ChannelPool.cs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/ChannelPool.cs b/framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/ChannelPool.cs index 03d6029b69..c06c0b6a95 100644 --- a/framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/ChannelPool.cs +++ b/framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/ChannelPool.cs @@ -61,8 +61,6 @@ public class ChannelPool : IChannelPool, ISingletonDependency } } - poolItem.Acquire(); - if (poolItem.Channel.IsClosed) { await poolItem.DisposeAsync(); @@ -80,10 +78,10 @@ public class ChannelPool : IChannelPool, ISingletonDependency Channels.TryAdd(channelName, poolItem); } } - - poolItem.Acquire(); } + poolItem.Acquire(); + return new ChannelAccessor( poolItem.Channel, channelName,