Class CheckpointingConfigurationEnhancer

java.lang.Object
io.axoniq.framework.messaging.eventstreaming.checkpoint.CheckpointingConfigurationEnhancer
All Implemented Interfaces:
ConfigurationEnhancer

public class CheckpointingConfigurationEnhancer extends Object implements ConfigurationEnhancer
A ConfigurationEnhancer that enables self-checkpointing support for pooled streaming event processors.

The enhancer installs CheckpointingProgressStrategyFactory.detecting() as the progress-strategy factory builder on every pooled streaming processor, through the type-level PooledStreamingEventProcessorModule.Customization hook. As a result, processors whose event handling components implement Checkpointing automatically defer progress to the components' checkpoint requests, while processors without such components keep the default token-storing behavior.

The checkpointing customization is applied before any user-supplied customization: an application-level PooledStreamingEventProcessorModule.Customization component is preserved and composed after it, and per-processor customizations (via PooledStreamingEventProcessorModule.customized(java.util.function.BiFunction)) run last. Either can override the progress-strategy factory builder to opt out or refine the selection.

This enhancer is discovered through the ServiceLoader mechanism; having this module on the classpath is sufficient to activate checkpointing detection.

Since:
5.3.0
Author:
Allard Buijze
  • Constructor Details

    • CheckpointingConfigurationEnhancer

      public CheckpointingConfigurationEnhancer()
  • Method Details