Class FluxzeroInterceptor

java.lang.Object
io.fluxzero.sdk.tracking.FluxzeroInterceptor
All Implemented Interfaces:
BatchInterceptor

public class FluxzeroInterceptor extends Object implements BatchInterceptor
A BatchInterceptor that ensures the correct Fluxzero instance is bound to the current thread for the duration of a MessageBatch.

This interceptor enables the use of Fluxzero's static convenience methods during message processing. It ensures that operations like Fluxzero.sendCommand(Object) or Fluxzero.publishEvent(Object) resolve the correct runtime context even in multithreaded applications.

Thread-Local Binding

  • Sets Fluxzero.instance before batch processing begins.
  • Restores the previous thread-local instance (if any) after processing completes.
  • Ensures thread isolation across different trackers and test threads.

Runtime Expectations

  • In a typical production application, there is a single Fluxzero instance used throughout the JVM.
  • This instance is often registered via Fluxzero.applicationInstance and used as a fallback when no thread-local binding is available.
  • Multiple instances may occur in rare cases—such as connecting to multiple Fluxzero Runtimes—or during unit/integration testing scenarios involving multiple test clients or parallel test execution.
  • This interceptor ensures that each batch is processed with the appropriate context, even in such edge cases.

Lifecycle

  • This interceptor is registered automatically in most Fluxzero configurations.
  • In custom or manual configurations (e.g., test setups), it may need to be included explicitly.
See Also:
  • Constructor Details

    • FluxzeroInterceptor

      public FluxzeroInterceptor()
  • Method Details