Да.Исходя из того, что я вижу из исходных кодов, если все средства извлечения данных возвращают только POJO, все выполнение будет выполняться в том же потоке.
Чтобы настроить средства извлечения данных для параллельной работы, необходимо использовать ExecutionStrategy
поддерживает асинхронную обработку.Используемая в запросе по умолчанию (AsyncExecutionStrategy
) поддерживает, а мутация (AsyncSerialExecutionStrategy
) - нет.
Сборщик данных также должен возвращать CompletableFuture
, используя CompletableFuture.supplyAsync()
.Обратите внимание, что graphql-java
предоставляет удобный сборщик данных под названием AsyncDataFetcher
, который может обернуть обычный синхронный сборщик данных в асинхронный:
DataFetcher asyncDataFetcher = AsyncDataFetcher.async(fooDataFetcher);