Class DefaultTracking

java.lang.Object
io.fluxcapacitor.javaclient.tracking.DefaultTracking
All Implemented Interfaces:
Tracking, AutoCloseable

public class DefaultTracking extends Object implements Tracking
Default implementation of the Tracking interface that coordinates message tracking for a specific MessageType.

This class is responsible for:

  • Assigning handler objects to appropriate ConsumerConfigurations based on declared filters
  • Creating and managing Tracker instances for those consumers and their associated topics
  • Ensuring messages are deserialized, dispatched, and (if applicable) responded to with proper error handling
  • Invoking handlers using the provided HandlerFactory and HandlerInvoker
  • Integrating with ResultGateway to send back command/query/web responses when needed

Supports per-consumer batch interceptors and general batch processing logic, including:

  • Functional and technical exception management with retry hooks
  • Tracking exclusivity to prevent handlers from being assigned to multiple consumers simultaneously
  • Internal shutdown coordination and pending message flushes via close()

Typical Usage

This class is used internally when starting a FluxCapacitor.registerHandlers(List) invocation for a given MessageType, and typically shouldn't be used directly by application developers.
See Also: