Class DeadLetterQueueConfigurationEnhancer
java.lang.Object
io.axoniq.framework.messaging.eventhandling.deadletter.DeadLetterQueueConfigurationEnhancer
- All Implemented Interfaces:
ConfigurationEnhancer
A
ConfigurationEnhancer that adds Dead Letter Queue (DLQ) support to
EventHandlingComponents within a
pooled streaming event processor module.
This enhancer registers:
- A
ComponentFactoryforSequencedDeadLetterQueue— creates queue instances on demand, optionally wrapped withCachingSequencedDeadLetterQueue - A type-level decorator for
EventHandlingComponent— wraps components withDeadLetteringEventHandlingComponentwhen DLQ is enabled - A
ComponentFactoryforSequencedDeadLetterProcessor— makes DLQ-decorated components discoverable as dead letter processors
This enhancer operates only within module scopes that contain a
PooledStreamingEventProcessorConfiguration. In all other contexts (e.g., non-pooled processors),
the decorator returns the delegate unchanged.
- Since:
- 5.1.0
- Author:
- Mateusz Nowak
- See Also:
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidenhance(ComponentRegistry registry) intorder()Returns the relative order this enhancer should be invoked in, compared to other instances.
-
Field Details
-
ENHANCER_ORDER
public static final int ENHANCER_ORDERThe order of this enhancer. Runs late so that theDeadLetteringEventHandlingComponentwraps all other decorators, making it discoverable as aSequencedDeadLetterProcessor.Set to
Integer.MAX_VALUE - 100— after all normal enhancers but beforeMessagingConfigurationDefaults(Integer.MAX_VALUE).- See Also:
-
-
Constructor Details
-
DeadLetterQueueConfigurationEnhancer
public DeadLetterQueueConfigurationEnhancer()
-
-
Method Details
-
order
public int order()Description copied from interface:ConfigurationEnhancerReturns the relative order this enhancer should be invoked in, compared to other instances.Use lower (negative) values for enhancers providing sensible defaults, and higher values for enhancers that should be able to override values potentially previously set. Defaults to
0when not set.- Specified by:
orderin interfaceConfigurationEnhancer- Returns:
- The order in which this enhancer should be invoked.
-
enhance
Description copied from interface:ConfigurationEnhancer- Specified by:
enhancein interfaceConfigurationEnhancer- Parameters:
registry- The registry instance to enhance.
-