Browse Source

Check if channel is closed

pull/22119/head
liangshiwei 2 years ago
parent
commit
d348dc8446
  1. 11
      framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/ChannelPool.cs

11
framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/ChannelPool.cs

@ -42,6 +42,17 @@ public class ChannelPool : IChannelPool, ISingletonDependency
poolItem.Acquire();
if (poolItem.Channel.IsClosed)
{
Channels.TryRemove(channelName, out _);
poolItem = Channels.GetOrAdd(
channelName,
_ => new ChannelPoolItem(CreateChannel(channelName, connectionName))
);
poolItem.Acquire();
}
return new ChannelAccessor(
poolItem.Channel,
channelName,

Loading…
Cancel
Save