Merge pull request 'chore: preserve current configuration and documentation' (#4) from feature/hrynco-service-hosts into main
This commit was merged in pull request #4.
This commit is contained in:
@@ -1,27 +1,27 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<ImplicitUsings>disable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<RootNamespace>Hrynco.RabbitMq</RootNamespace>
|
||||
<PackageId>HrynCo.RabbitMq</PackageId>
|
||||
<Authors>HrynCo</Authors>
|
||||
<Description>RabbitMQ publisher and consumer base for HrynCo applications.</Description>
|
||||
<PackageTags>hrynco rabbitmq messaging</PackageTags>
|
||||
<RepositoryType>git</RepositoryType>
|
||||
<RepositoryUrl>https://gitea.grynco.com.ua/hrynco/hrynco-rabbitmq.git</RepositoryUrl>
|
||||
<PackageReadmeFile>README.md</PackageReadmeFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="RabbitMQ.Client" Version="7.2.1"/>
|
||||
<PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="10.0.0"/>
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="10.0.0"/>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Include="README.md" Pack="true" PackagePath=""/>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<ImplicitUsings>disable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<RootNamespace>Hrynco.RabbitMq</RootNamespace>
|
||||
<PackageId>HrynCo.RabbitMq</PackageId>
|
||||
<Authors>HrynCo</Authors>
|
||||
<Description>RabbitMQ publisher and consumer base for HrynCo applications.</Description>
|
||||
<PackageTags>hrynco rabbitmq messaging</PackageTags>
|
||||
<RepositoryType>git</RepositoryType>
|
||||
<RepositoryUrl>https://gitea.hrynco.com/hrynco/hrynco-rabbitmq.git</RepositoryUrl>
|
||||
<PackageReadmeFile>README.md</PackageReadmeFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="RabbitMQ.Client" Version="7.2.1"/>
|
||||
<PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="10.0.0"/>
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="10.0.0"/>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Include="README.md" Pack="true" PackagePath=""/>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
+36
-34
@@ -1,34 +1,36 @@
|
||||
# HrynCo.RabbitMq
|
||||
|
||||
RabbitMQ publisher and consumer base for HrynCo applications.
|
||||
|
||||
## Contents
|
||||
|
||||
- `RabbitMqSettings` — connection settings record (host, port, user, password, virtual host)
|
||||
- `IRabbitMqPublisher` / `RabbitMqPublisher` — publishes JSON-serialized messages to a named queue
|
||||
- `RabbitMqConsumerBase<TMessage, TMessageData>` — background service base with connection management, manual ACK/NACK, retry, permanent-validation rejection, and backward-compatible context-aware handling
|
||||
- `RabbitMqMessageContext` — neutral AMQP delivery metadata (`MessageId`, type, correlation, routing, headers, and redelivery state)
|
||||
- `IRabbitMqMessage<TMessageData>` — message contract interface
|
||||
- `CorrelationContext` — correlation ID carrier
|
||||
|
||||
## Packaging
|
||||
|
||||
This package is intended for reuse through NuGet. The test project is excluded from packing.
|
||||
|
||||
## Consumer extension points
|
||||
|
||||
Existing consumers can keep overriding `HandleMessageAsync(message, cancellationToken)`.
|
||||
Consumers that need AMQP metadata can instead override
|
||||
`HandleMessageAsync(message, context, cancellationToken)`. The base class retains
|
||||
ownership of acknowledgements and retries.
|
||||
|
||||
Override `TryValidateMessage(...)` for application-specific permanent validation.
|
||||
Returning `false` nacks the delivery without requeue before retry processing begins.
|
||||
Keep validation errors free of credentials and sensitive payload values.
|
||||
|
||||
Override `HandleMessageRetriesExhaustedAsync(...)` when a consumer must react once to a
|
||||
terminal processing failure, for example by publishing a neutral failure result to the
|
||||
requesting client. The hook runs after the final handler exception and before the original
|
||||
delivery is nacked without requeue. Hook failures are logged and do not replace the
|
||||
original failure or acknowledgement policy. Application shutdown cancellation does not
|
||||
invoke the hook.
|
||||
# HrynCo.RabbitMq
|
||||
|
||||
RabbitMQ publisher and consumer base for HrynCo applications.
|
||||
|
||||
## Contents
|
||||
|
||||
- `RabbitMqSettings` — connection settings record (host, port, user, password, virtual host)
|
||||
- `IRabbitMqPublisher` / `RabbitMqPublisher` — publishes JSON-serialized messages to a named queue
|
||||
- `RabbitMqConsumerBase<TMessage, TMessageData>` — background service base with connection management, manual ACK/NACK, retry, permanent-validation rejection, and backward-compatible context-aware handling
|
||||
- `RabbitMqMessageContext` — neutral AMQP delivery metadata (`MessageId`, type, correlation, routing, headers, and redelivery state)
|
||||
- `IRabbitMqMessage<TMessageData>` — message contract interface
|
||||
- `CorrelationContext` — correlation ID carrier
|
||||
|
||||
## Packaging
|
||||
|
||||
This package is intended for reuse through NuGet. The test project is excluded from packing.
|
||||
|
||||
## Consumer extension points
|
||||
|
||||
Existing consumers can keep overriding `HandleMessageAsync(message, cancellationToken)`.
|
||||
Consumers that need AMQP metadata can instead override
|
||||
`HandleMessageAsync(message, context, cancellationToken)`. The base class retains
|
||||
ownership of acknowledgements and retries.
|
||||
|
||||
Override `TryValidateMessage(...)` for application-specific permanent validation.
|
||||
Returning `false` nacks the delivery without requeue before retry processing begins.
|
||||
Keep validation errors free of credentials and sensitive payload values.
|
||||
|
||||
Override `HandleMessageRetriesExhaustedAsync(...)` when a consumer must react once to a
|
||||
terminal processing failure, for example by publishing a neutral failure result to the
|
||||
requesting client. The hook runs after the final handler exception and before the original
|
||||
delivery is nacked without requeue. Hook failures are logged and do not replace the
|
||||
original failure or acknowledgement policy. Application shutdown cancellation does not
|
||||
invoke the hook.
|
||||
|
||||
Package repository metadata points to [HrynCo.RabbitMq on Gitea](https://gitea.hrynco.com/hrynco/hrynco-rabbitmq). The hostname change does not alter package versions or messaging behavior.
|
||||
|
||||
Reference in New Issue
Block a user