Skip to content

Commit

Permalink
Prepare for merge.
Browse files Browse the repository at this point in the history
Signed-off-by: Tomasz Maruszak <[email protected]>
  • Loading branch information
zarusz committed Jan 26, 2025
1 parent cbcdee2 commit cb4f6c2
Show file tree
Hide file tree
Showing 8 changed files with 39 additions and 18 deletions.
3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ SlimMessageBus is a client façade for message brokers for .NET. It comes with i
[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=zarusz_SlimMessageBus&metric=vulnerabilities)](https://sonarcloud.io/summary/overall?id=zarusz_SlimMessageBus)
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=zarusz_SlimMessageBus&metric=alert_status)](https://sonarcloud.io/summary/overall?id=zarusz_SlimMessageBus)

> The v3 release is [under construction](https://github.com/zarusz/SlimMessageBus/tree/release/v3).
> The v2 release is available (see [migration guide](https://github.com/zarusz/SlimMessageBus/releases/tag/Host.Transport-2.0.0)).
> The v3 release is [available](https://github.com/zarusz/SlimMessageBus/releases/tag/3.0.0).
- [Key elements of SlimMessageBus](#key-elements-of-slimmessagebus)
- [Docs](#docs)
Expand Down
23 changes: 17 additions & 6 deletions docs/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
- [Set message headers](#set-message-headers)
- [Consumer](#consumer)
- [Start or Stop message consumption](#start-or-stop-message-consumption)
- [Health check circuit breaker](#health-check-circuit-breaker)
- [Health check circuit breaker](#health-check-circuit-breaker)
- [Consumer context (additional message information)](#consumer-context-additional-message-information)
- [Per-message DI container scope](#per-message-di-container-scope)
- [Hybrid bus and message scope reuse](#hybrid-bus-and-message-scope-reuse)
Expand Down Expand Up @@ -39,13 +39,14 @@
- [Order of Execution](#order-of-execution)
- [Generic interceptors](#generic-interceptors)
- [Error Handling](#error-handling)
- [Azure Service Bus](#azure-service-bus)
- [RabbitMQ](#rabbitmq)
- [Azure Service Bus](#azure-service-bus)
- [RabbitMQ](#rabbitmq)
- [Logging](#logging)
- [Debugging](#debugging)
- [Provider specific functionality](#provider-specific-functionality)
- [Topology Provisioning](#topology-provisioning)
- [Triggering Topology Provisioning](#triggering-topology-provisioning)
- [Versions](#versions)

## Configuration

Expand Down Expand Up @@ -316,7 +317,8 @@ Consumers can be linked to [.NET app health checks](https://learn.microsoft.com/
})
})
```
*Requires: SlimMessageBus.Host.CircuitBreaker.HealthCheck*

_Requires: SlimMessageBus.Host.CircuitBreaker.HealthCheck_

#### Consumer context (additional message information)

Expand Down Expand Up @@ -1151,18 +1153,21 @@ Transport plugins provide specialized error handling interfaces with a default i
This approach allows for transport-specific error handling, ensuring that specialized handlers can be prioritized.

#### Azure Service Bus

| ProcessResult | Description |
| ------------- | ---------------------------------------------------------------------------------- |
| DeadLetter | Abandons further processing of the message by sending it to the dead letter queue. |

#### RabbitMQ

| ProcessResult | Description |
| ------------- | --------------------------------------------------------------- |
| Requeue | Return the message to the queue for re-processing <sup>1</sup>. |

<sup>1</sup> RabbitMQ does not have a maximum delivery count. Please use `Requeue` with caution as, if no other conditions are applied, it may result in an infinite message loop.

Example retry with exponential back-off and short-curcuit to dead letter exchange on non-transient exceptions (using the [RabbitMqConsumerErrorHandler](../src/SlimMessageBus.Host.RabbitMQ/Consumers/IRabbitMqConsumerErrorHandler.cs) abstract implementation):

```cs
public class RetryHandler<T> : RabbitMqConsumerErrorHandler<T>
{
Expand All @@ -1179,7 +1184,7 @@ public class RetryHandler<T> : RabbitMqConsumerErrorHandler<T>
{
var delay = (attempts * 1000) + (_random.Next(1000) - 500);
await Task.Delay(delay, consumerContext.CancellationToken);

// in process retry
return Retry();
}
Expand All @@ -1199,6 +1204,7 @@ public class RetryHandler<T> : RabbitMqConsumerErrorHandler<T>
}
}
```

## Logging

SlimMessageBus uses [Microsoft.Extensions.Logging.Abstractions](https://www.nuget.org/packages/Microsoft.Extensions.Logging.Abstractions):
Expand Down Expand Up @@ -1253,4 +1259,9 @@ ITopologyControl ctrl = // injected
await ctrl.ProvisionTopology();
```

This allows to recreate missing elements in the infrastructure without restarting the whole application.
This allows to recreate missing elements in the infrastructure without restarting the whole application.

## Versions

- The v3 release [migration guide](https://github.com/zarusz/SlimMessageBus/tree/release/v3).
- The v2 release [migration guide](https://github.com/zarusz/SlimMessageBus/releases/tag/Host.Transport-2.0.0).
21 changes: 16 additions & 5 deletions docs/intro.t.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
- [Set message headers](#set-message-headers)
- [Consumer](#consumer)
- [Start or Stop message consumption](#start-or-stop-message-consumption)
- [Health check circuit breaker](#health-check-circuit-breaker)
- [Health check circuit breaker](#health-check-circuit-breaker)
- [Consumer context (additional message information)](#consumer-context-additional-message-information)
- [Per-message DI container scope](#per-message-di-container-scope)
- [Hybrid bus and message scope reuse](#hybrid-bus-and-message-scope-reuse)
Expand Down Expand Up @@ -39,13 +39,14 @@
- [Order of Execution](#order-of-execution)
- [Generic interceptors](#generic-interceptors)
- [Error Handling](#error-handling)
- [Azure Service Bus](#azure-service-bus)
- [RabbitMQ](#rabbitmq)
- [Azure Service Bus](#azure-service-bus)
- [RabbitMQ](#rabbitmq)
- [Logging](#logging)
- [Debugging](#debugging)
- [Provider specific functionality](#provider-specific-functionality)
- [Topology Provisioning](#topology-provisioning)
- [Triggering Topology Provisioning](#triggering-topology-provisioning)
- [Versions](#versions)

## Configuration

Expand Down Expand Up @@ -316,7 +317,8 @@ Consumers can be linked to [.NET app health checks](https://learn.microsoft.com/
})
})
```
*Requires: SlimMessageBus.Host.CircuitBreaker.HealthCheck*

_Requires: SlimMessageBus.Host.CircuitBreaker.HealthCheck_

#### Consumer context (additional message information)

Expand Down Expand Up @@ -1129,18 +1131,21 @@ Transport plugins provide specialized error handling interfaces with a default i
This approach allows for transport-specific error handling, ensuring that specialized handlers can be prioritized.

#### Azure Service Bus

| ProcessResult | Description |
| ------------- | ---------------------------------------------------------------------------------- |
| DeadLetter | Abandons further processing of the message by sending it to the dead letter queue. |

#### RabbitMQ

| ProcessResult | Description |
| ------------- | --------------------------------------------------------------- |
| Requeue | Return the message to the queue for re-processing <sup>1</sup>. |

<sup>1</sup> RabbitMQ does not have a maximum delivery count. Please use `Requeue` with caution as, if no other conditions are applied, it may result in an infinite message loop.

Example retry with exponential back-off and short-curcuit to dead letter exchange on non-transient exceptions (using the [RabbitMqConsumerErrorHandler](../src/SlimMessageBus.Host.RabbitMQ/Consumers/IRabbitMqConsumerErrorHandler.cs) abstract implementation):

```cs
public class RetryHandler<T> : RabbitMqConsumerErrorHandler<T>
{
Expand All @@ -1157,7 +1162,7 @@ public class RetryHandler<T> : RabbitMqConsumerErrorHandler<T>
{
var delay = (attempts * 1000) + (_random.Next(1000) - 500);
await Task.Delay(delay, consumerContext.CancellationToken);

// in process retry
return Retry();
}
Expand All @@ -1177,6 +1182,7 @@ public class RetryHandler<T> : RabbitMqConsumerErrorHandler<T>
}
}
```

## Logging

SlimMessageBus uses [Microsoft.Extensions.Logging.Abstractions](https://www.nuget.org/packages/Microsoft.Extensions.Logging.Abstractions):
Expand Down Expand Up @@ -1232,3 +1238,8 @@ await ctrl.ProvisionTopology();
```

This allows to recreate missing elements in the infrastructure without restarting the whole application.

## Versions

- The v3 release [migration guide](https://github.com/zarusz/SlimMessageBus/releases/tag/3.0.0).
- The v2 release [migration guide](https://github.com/zarusz/SlimMessageBus/releases/tag/Host.Transport-2.0.0).
2 changes: 1 addition & 1 deletion src/Host.Plugin.Properties.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<Import Project="Common.NuGet.Properties.xml" />

<PropertyGroup>
<Version>3.0.0-rc906</Version>
<Version>3.0.0</Version>
</PropertyGroup>

</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<Description>Core configuration interfaces of SlimMessageBus</Description>
<PackageTags>SlimMessageBus</PackageTags>
<RootNamespace>SlimMessageBus.Host</RootNamespace>
<Version>3.0.0-rc906</Version>
<Version>3.0.0</Version>
</PropertyGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<Import Project="../Common.NuGet.Properties.xml" />

<PropertyGroup>
<Version>3.0.0-rc906</Version>
<Version>3.0.0</Version>
<Description>Core interceptor interfaces of SlimMessageBus</Description>
<PackageTags>SlimMessageBus</PackageTags>
</PropertyGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<Import Project="../Common.NuGet.Properties.xml" />

<PropertyGroup>
<Version>3.0.0-rc906</Version>
<Version>3.0.0</Version>
<Description>Core serialization interfaces of SlimMessageBus</Description>
<PackageTags>SlimMessageBus</PackageTags>
</PropertyGroup>
Expand Down
2 changes: 1 addition & 1 deletion src/SlimMessageBus/SlimMessageBus.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<Import Project="../Common.NuGet.Properties.xml" />

<PropertyGroup>
<Version>3.0.0-rc906</Version>
<Version>3.0.0</Version>
<Description>
This library provides a lightweight, easy-to-use message bus interface for .NET, offering a simplified facade for working with messaging brokers.
It supports multiple transport providers for popular messaging systems, as well as in-memory (in-process) messaging for efficient local communication.
Expand Down

0 comments on commit cb4f6c2

Please sign in to comment.