Kaynağa Gözat

Fix RabbitMQ connection was closed unexpectedly. (#863)

* Fix RabbitMQ connection was closed unexpectedly.

* Ensure that the RabbitMQ connection is unique.
master
Null 3 yıl önce
committed by GitHub
ebeveyn
işleme
a650299a2b
Veri tabanında bu imza için bilinen anahtar bulunamadı GPG Anahtar Kimliği: 4AEE18F83AFDEB23
2 değiştirilmiş dosya ile 11 ekleme ve 5 silme
  1. +9
    -4
      src/DotNetCore.CAP.RabbitMQ/IConnectionChannelPool.Default.cs
  2. +2
    -1
      src/DotNetCore.CAP.RabbitMQ/RabbitMQConsumerClient.cs

+ 9
- 4
src/DotNetCore.CAP.RabbitMQ/IConnectionChannelPool.Default.cs Dosyayı Görüntüle

@@ -67,13 +67,17 @@ namespace DotNetCore.CAP.RabbitMQ

public IConnection GetConnection()
{
if (_connection != null && _connection.IsOpen)
lock (SLock)
{
if (_connection != null && _connection.IsOpen)
{
return _connection;
}

_connection?.Dispose();
_connection = _connectionActivator();
return _connection;
}

_connection = _connectionActivator();
return _connection;
}

public void Dispose()
@@ -84,6 +88,7 @@ namespace DotNetCore.CAP.RabbitMQ
{
context.Dispose();
}
_connection?.Dispose();
}

private static Func<IConnection> CreateConnection(RabbitMQOptions options)


+ 2
- 1
src/DotNetCore.CAP.RabbitMQ/RabbitMQConsumerClient.cs Dosyayı Görüntüle

@@ -92,7 +92,8 @@ namespace DotNetCore.CAP.RabbitMQ
public void Dispose()
{
_channel?.Dispose();
_connection?.Dispose();
//The connection should not be closed here, because the connection is still in use elsewhere.
//_connection?.Dispose();
}

public void Connect()


Yükleniyor…
İptal
Kaydet