Interface ThreadContextSnapshot

  • 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 ThreadContextRestorer instance that this ThreadContextSnapshot creates each time it is applied to a thread.

    Since:
    3.0
    • Method Detail

      • begin

        ThreadContextRestorer begin()
        Applies the captured thread context snapshot to the current thread and returns a distinct ThreadContextRestorer instance. The ThreadContextRestorer instance 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 Jakarta EE Product Provider must invoke the corresponding endContext method exactly once, such that the previous context is restored on the thread. If the Jakarta EE Product Provider sequentially begins multiple ThreadContextRestorer instances on a thread, it must invoke the corresponding endContext methods in reverse order.

        Returns:
        restorer instance that reverts the state of this context type on the thread to what it was prior to applying this snapshot.