- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
@FunctionalInterface public interface ThreadContextSnapshot
An immutable snapshot of a particular type of thread context.
The captured context represented by this snapshot can be applied to any number of threads, including concurrently.
Any state that is associated with context applied to a thread should be kept, not within the snapshot, but within the distinct
ThreadContextControllerinstance it creates each time it is applied to a thread.
Applies the captured thread context snapshot to the current thread and returns a distinct
ThreadContextControllerinstance tracks the context's life cycle, including any state that is associated with it or that is necessary for restoring the previous context.
For each invocation of this method, the invoker (typically a
ThreadContextinstance) must invoke the
endContextmethod on the corresponding
ThreadContextControllerinstance exactly once, such that the previous context is restored on the thread. If the invoker sequentially begins multiple
ThreadContextControllerinstances on a thread, it must invoke the corresponding
endContextmethods in reverse order.
- controller instance representing a single application of this thread context snapshot to a thread.