use of graphql.execution.AsyncExecutionStrategy in project graphql-java by graphql-java.
the class DataLoaderDispatcherInstrumentation method beginExecuteOperation.
@Override
public InstrumentationContext<ExecutionResult> beginExecuteOperation(InstrumentationExecuteOperationParameters parameters) {
ExecutionStrategy queryStrategy = parameters.getExecutionContext().getQueryStrategy();
if (!(queryStrategy instanceof AsyncExecutionStrategy)) {
CallStack callStack = parameters.getInstrumentationState();
callStack.setAggressivelyBatching(false);
}
return whenDispatched((result) -> dispatch());
}
use of graphql.execution.AsyncExecutionStrategy in project graphql-java by graphql-java.
the class ExecutionExamples method exceptionHandler.
private void exceptionHandler() {
DataFetcherExceptionHandler handler = new DataFetcherExceptionHandler() {
@Override
public void accept(DataFetcherExceptionHandlerParameters handlerParameters) {
//
// do your custom handling here. The parameters have all you need
}
};
ExecutionStrategy executionStrategy = new AsyncExecutionStrategy(handler);
}
use of graphql.execution.AsyncExecutionStrategy in project graphql-java by graphql-java.
the class ReadmeExamples method executionStrategies.
void executionStrategies() {
ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(2, /* core pool size 2 thread */
2, /* max pool size 2 thread */
30, TimeUnit.SECONDS, new LinkedBlockingQueue<>(), new ThreadPoolExecutor.CallerRunsPolicy());
GraphQL graphQL = GraphQL.newGraphQL(StarWarsSchema.starWarsSchema).queryExecutionStrategy(new ExecutorServiceExecutionStrategy(threadPoolExecutor)).mutationExecutionStrategy(new AsyncExecutionStrategy()).subscriptionExecutionStrategy(new AsyncExecutionStrategy()).build();
}
Aggregations