Class ContextPropagatingExecutorService

All Implemented Interfaces:
Executor, ExecutorService

public class ContextPropagatingExecutorService extends Object implements ExecutorService
An ExecutorService that propagates the Context.

Context is used to propagate per-call state, like the authenticated user, between threads (as gRPC makes no guarantees about what thread things execute on). This wrapper makes it easy to preserve this when using an Executor. The Context itself is immutable, so it is thread-safe.