ソースを参照

Fix RabbitMQ connection was closed unexpectedly. (#863)

* Fix RabbitMQ connection was closed unexpectedly.

* Ensure that the RabbitMQ connection is unique.
master
Null 3年前
committed by GitHub
コミット
a650299a2b
この署名に対応する既知のキーがデータベースに存在しません GPGキーID: 4AEE18F83AFDEB23
2個のファイルの変更11行の追加5行の削除
  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 ファイルの表示

@@ -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 ファイルの表示

@@ -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()


読み込み中…
キャンセル
保存