Package brave.baggage

Interface CorrelationScopeCustomizer


public interface CorrelationScopeCustomizer
This allows configuration plugins to collaborate on building an instance of CorrelationScopeDecorator.

For example, a customizer can configure a baggage field without instantiating the {@link CorrelationScopeDecorator.Builder).

This also allows one object to customize both {@linkplain BaggagePropagation baggage} and correlation integration, by implementing both customizer interfaces.

Integration examples

In practice, a dependency injection tool applies a collection of these instances prior to building the scope instance. For example, an injected List<CorrelationCustomizer> parameter to a provider of Propagation.Factory.

Here are some examples, in alphabetical order:

Note: This type is safe to implement as a lambda, or use as a method reference as it is effectively a FunctionalInterface. It isn't annotated as such because the project has a minimum Java language level 6.

Since:
5.11
See Also:
CorrelationScopeConfig, BaggageCustomizer