is an enhanced alternative to from GraphQL Java Both have the ability to wrap a synchronous together with an and return s that execute on the also copies slf4j s Mapped Diagnostic Context to the background tasks and restores the MDC when each task completes When using Dropwizard the executor should come from its environment lives in the module LiftwizardAsyncDataFetcher AsyncDataFetcher DataFetcher Executor CompleteableFuture Executor LiftwizardAsyncDataFetcher builder dataFetcher fieldName LiftwizardAsyncDataFetcher async dataFetcher executor ExecutorService executorService environment lifecycle executorService my data fetcher %d maxThreads maxThreads build LiftwizardAsyncDataFetcher liftwizard graphql data fetcher async <dependency> <groupId>io liftwizard< groupId> <artifactId>liftwizard graphql data fetcher async< artifactId> < dependency>