|
Dreamine.Communication.RabbitMQ 1.0.1
Dreamine.Communication.RabbitMQ 통신 기능과 관련 API를 제공합니다.
|


Public 멤버 함수 | |
| RabbitMqMessageBus (RabbitMqMessageBusOptions options) | |
| RabbitMqMessageBus (RabbitMqMessageBusOptions options, IRabbitMqConnectionFactory connectionFactory) | |
| Task | ConnectAsync (CancellationToken cancellationToken=default) |
| Task | PublishAsync (MessageEnvelope message, CancellationToken cancellationToken=default) |
| Task | SubscribeAsync (string route, Func< MessageEnvelope, CancellationToken, Task > handler, CancellationToken cancellationToken=default) |
| Task | DisconnectAsync (CancellationToken cancellationToken=default) |
| async ValueTask | DisposeAsync () |
속성 | |
| ConnectionState | State = ConnectionState.Disconnected [get, private set] |
| TransportKind | Kind [get] |
Private 멤버 함수 | |
| async Task | HandleReceivedAsync (RabbitMqDelivery delivery, CancellationToken cancellationToken) |
| void | DeclareTopology (IRabbitMqChannel channel) |
| void | Cleanup () |
정적 Private 멤버 함수 | |
| static void | ValidateOptions (RabbitMqMessageBusOptions options) |
Private 속성 | |
| readonly RabbitMqMessageBusOptions | _options |
| readonly IRabbitMqConnectionFactory | _connectionFactory |
| readonly Dictionary< string, List< Func< MessageEnvelope, CancellationToken, Task > > > | _handlers = new() |
| readonly object | _syncRoot = new() |
| IRabbitMqConnection? | _connection |
| IRabbitMqChannel? | _channel |
| string? | _consumerTag |
RabbitMQ Exchange, Queue 및 라우팅 키를 사용하는 메시지 버스입니다.
메시지 봉투는 JSON으로 직렬화되어 RabbitMQ 본문에 저장됩니다.
RabbitMqMessageBus.cs 파일의 26 번째 라인에서 정의되었습니다.
|
inline |
기본 연결 팩토리와 지정한 설정으로 메시지 버스를 초기화합니다.
| options | RabbitMQ 연결 및 토폴로지 설정입니다. |
RabbitMqMessageBus.cs 파일의 109 번째 라인에서 정의되었습니다.
|
inline |
설정과 사용자 지정 연결 팩토리로 메시지 버스를 초기화합니다.
| options | RabbitMQ 연결 및 토폴로지 설정입니다. |
| connectionFactory | 브로커 연결을 생성할 팩토리입니다. |
| ArgumentNullException | 필수 입력 인자 중 하나가 null인 경우 발생합니다. |
RabbitMqMessageBus.cs 파일의 146 번째 라인에서 정의되었습니다.
다음을 참조함 : _connectionFactory, _options, ValidateOptions().

|
inlineprivate |
처리기와 소비자를 정리하고 채널 및 연결을 안전하게 닫아 해제합니다.
RabbitMqMessageBus.cs 파일의 611 번째 라인에서 정의되었습니다.
다음을 참조함 : _channel, _connection, _consumerTag, _handlers, _syncRoot.
다음에 의해서 참조됨 : ConnectAsync(), DisconnectAsync().

|
inline |
브로커 연결과 채널을 생성하고 구성된 토폴로지를 선언합니다.
| cancellationToken | 연결 취소 요청을 감시하는 토큰입니다. |
RabbitMqMessageBus.cs 파일의 199 번째 라인에서 정의되었습니다.
다음을 참조함 : _channel, _connection, _connectionFactory, _options, Cleanup(), DeclareTopology(), State.

|
inlineprivate |
구성된 Exchange와 Queue를 선언하고 기본 라우팅 키로 바인딩합니다.
| channel | 토폴로지를 선언할 열린 채널입니다. |
RabbitMqMessageBus.cs 파일의 583 번째 라인에서 정의되었습니다.
다음을 참조함 : _options, Dreamine.Communication.RabbitMQ.Infrastructure.IRabbitMqChannel.ExchangeDeclare(), Dreamine.Communication.RabbitMQ.Infrastructure.IRabbitMqChannel.QueueBind(), Dreamine.Communication.RabbitMQ.Infrastructure.IRabbitMqChannel.QueueDeclare().
다음에 의해서 참조됨 : ConnectAsync().


|
inline |
소비자, 채널 및 브로커 연결을 정리합니다.
| cancellationToken | 연결 해제 취소 요청을 감시하는 토큰입니다. |
RabbitMqMessageBus.cs 파일의 418 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : DisposeAsync().


|
inline |
RabbitMQ 메시지 버스 연결과 관련 리소스를 비동기적으로 해제합니다.
RabbitMqMessageBus.cs 파일의 453 번째 라인에서 정의되었습니다.
다음을 참조함 : DisconnectAsync().

|
inlineprivate |
브로커 배달 본문을 메시지로 역직렬화하고 라우트 처리기를 실행한 뒤 성공 또는 실패 확인을 전송합니다.
| delivery | 처리할 RabbitMQ 배달 정보입니다. |
| cancellationToken | 처리기 실행 취소 토큰입니다. |
| JsonException | 배달 본문이 올바른 메시지 JSON이 아닌 경우 발생할 수 있습니다. |
RabbitMqMessageBus.cs 파일의 498 번째 라인에서 정의되었습니다.
다음을 참조함 : _channel, _handlers, _options, _syncRoot, Dreamine.Communication.RabbitMQ.Infrastructure.RabbitMqDelivery.Body, Dreamine.Communication.RabbitMQ.Infrastructure.RabbitMqDelivery.DeliveryTag, Dreamine.Communication.RabbitMQ.Infrastructure.RabbitMqDelivery.RoutingKey.
다음에 의해서 참조됨 : SubscribeAsync().

|
inline |
메시지를 JSON으로 직렬화하여 구성된 Exchange와 라우팅 키로 발행합니다.
| message | 발행할 메시지입니다. |
| cancellationToken | 발행 취소 요청을 감시하는 토큰입니다. |
| InvalidOperationException | 현재 객체 상태에서 Publish Async 작업을 수행할 수 없는 경우 발생합니다. |
RabbitMqMessageBus.cs 파일의 268 번째 라인에서 정의되었습니다.
|
inline |
라우팅 키를 Queue에 바인딩하고 비동기 처리기를 등록합니다.
| route | 구독할 라우팅 키입니다. |
| handler | 수신 메시지 처리기입니다. |
| cancellationToken | 구독 취소 요청을 감시하는 토큰입니다. |
| InvalidOperationException | 현재 객체 상태에서 Subscribe Async 작업을 수행할 수 없는 경우 발생합니다. |
RabbitMqMessageBus.cs 파일의 349 번째 라인에서 정의되었습니다.
다음을 참조함 : _channel, _consumerTag, _handlers, _options, _syncRoot, HandleReceivedAsync(), State.

|
inlinestaticprivate |
필수 RabbitMQ 연결 및 토폴로지 설정과 포트 범위를 검증합니다.
| options | 검증할 메시지 버스 설정입니다. |
| ArgumentException | 필수 문자열 설정이 비어 있는 경우 발생합니다. |
| ArgumentOutOfRangeException | 포트가 1~65535 범위를 벗어난 경우 발생합니다. |
RabbitMqMessageBus.cs 파일의 701 번째 라인에서 정의되었습니다.
다음을 참조함 : Dreamine.Communication.RabbitMQ.Options.RabbitMqMessageBusOptions.ExchangeName, Dreamine.Communication.RabbitMQ.Options.RabbitMqMessageBusOptions.ExchangeType, Dreamine.Communication.RabbitMQ.Options.RabbitMqMessageBusOptions.HostName, Dreamine.Communication.RabbitMQ.Options.RabbitMqMessageBusOptions.Password, Dreamine.Communication.RabbitMQ.Options.RabbitMqMessageBusOptions.Port, Dreamine.Communication.RabbitMQ.Options.RabbitMqMessageBusOptions.QueueName, Dreamine.Communication.RabbitMQ.Options.RabbitMqMessageBusOptions.RoutingKey, Dreamine.Communication.RabbitMQ.Options.RabbitMqMessageBusOptions.UserName, Dreamine.Communication.RabbitMQ.Options.RabbitMqMessageBusOptions.VirtualHost.
다음에 의해서 참조됨 : RabbitMqMessageBus().

|
private |
channel 값을 보관합니다.
RabbitMqMessageBus.cs 파일의 82 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : Cleanup(), ConnectAsync(), HandleReceivedAsync(), PublishAsync(), SubscribeAsync().
|
private |
connection 값을 보관합니다.
RabbitMqMessageBus.cs 파일의 73 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : Cleanup(), ConnectAsync().
|
private |
connection Factory 값을 보관합니다.
RabbitMqMessageBus.cs 파일의 45 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ConnectAsync(), RabbitMqMessageBus().
|
private |
consumer Tag 값을 보관합니다.
RabbitMqMessageBus.cs 파일의 91 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : Cleanup(), SubscribeAsync().
|
private |
handlers 값을 보관합니다.
RabbitMqMessageBus.cs 파일의 54 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : Cleanup(), HandleReceivedAsync(), SubscribeAsync().
|
private |
options 값을 보관합니다.
RabbitMqMessageBus.cs 파일의 36 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ConnectAsync(), DeclareTopology(), HandleReceivedAsync(), PublishAsync(), RabbitMqMessageBus(), SubscribeAsync().
|
private |
sync Root 값을 보관합니다.
RabbitMqMessageBus.cs 파일의 63 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : Cleanup(), HandleReceivedAsync(), SubscribeAsync().
|
get |
RabbitMQ 전송 방식을 가져옵니다.
RabbitMqMessageBus.cs 파일의 173 번째 라인에서 정의되었습니다.
|
getprivate set |
메시지 버스의 현재 연결 상태를 가져옵니다.
RabbitMqMessageBus.cs 파일의 163 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ConnectAsync(), DisconnectAsync(), PublishAsync(), SubscribeAsync().