Class AsiBackboneGovernanceOutboxOptions
- Namespace
- AsiBackbone.Core.Outbox
- Assembly
- AsiBackbone.Core.dll
Provides provider-neutral retry timing, poison-message, and optional claim/lease options for governance outbox drain processing.
public sealed class AsiBackboneGovernanceOutboxOptions
- Inheritance
-
AsiBackboneGovernanceOutboxOptions
- Inherited Members
Remarks
These options control default retry timestamps when a downstream emitter does not provide its own retry-after value. Claim leasing remains opt-in and requires a claim-capable outbox store.
Fields
DefaultDeadLetterReasonCode
Gets the stable default reason code used when the drain dead-letters an entry after the configured retry threshold is reached.
public const string DefaultDeadLetterReasonCode = "outbox.max_retry_attempts_exceeded"
Field Value
DefaultDeadLetterReasonMessage
Gets the stable default reason message used when the drain dead-letters an entry after the configured retry threshold is reached.
public const string DefaultDeadLetterReasonMessage = "Governance outbox entry exceeded the configured maximum retry attempts."
Field Value
Properties
ClaimLeaseDuration
Gets or sets the lease duration used when UseClaimLeases is enabled.
public TimeSpan ClaimLeaseDuration { get; set; }
Property Value
ClaimWorkerId
Gets or sets the worker, process, node, or partition identifier used when UseClaimLeases is enabled.
public string? ClaimWorkerId { get; set; }
Property Value
DeadLetterOnMaxRetryAttempts
Gets or sets a value indicating whether entries are dead-lettered when MaxRetryAttempts is reached.
public bool DeadLetterOnMaxRetryAttempts { get; set; }
Property Value
DeadLetterReasonCode
Gets or sets the provider-neutral reason code recorded when the configured retry threshold is reached.
public string DeadLetterReasonCode { get; set; }
Property Value
DeadLetterReasonMessage
Gets or sets the provider-neutral reason message recorded when the configured retry threshold is reached.
public string DeadLetterReasonMessage { get; set; }
Property Value
DeferredDelay
Gets or sets the default delay applied when an emitter returns a pending or deferred result without a retry-after timestamp.
public TimeSpan DeferredDelay { get; set; }
Property Value
MaxRetryAttempts
Gets or sets the maximum number of failed emission attempts permitted before the drain applies its poison-message policy.
public int MaxRetryAttempts { get; set; }
Property Value
Remarks
The threshold counts the failure currently being processed. A value of 1 dead-letters the first failed attempt when DeadLetterOnMaxRetryAttempts is enabled.
RetryDelay
Gets or sets the default delay applied after a transient emission failure or unexpected emitter exception.
public TimeSpan RetryDelay { get; set; }
Property Value
UseClaimLeases
Gets or sets a value indicating whether the drain should claim outbox entries before provider emission when the store supports claim leases.
public bool UseClaimLeases { get; set; }
Property Value
Methods
Validate()
Validates the configured outbox retry, poison-message, timing, and claim options.
public void Validate()
Exceptions
- InvalidOperationException
Thrown when a retry threshold, reason, delay, or claim lease option is invalid.