private void exampleExecutorServiceExecutionStrategy() { //::FigureH ExecutorService executorService = 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(executorService)) .mutationExecutionStrategy(new AsyncSerialExecutionStrategy()) .build(); //::/FigureH }
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(); }
/** * This helps you transform the current GraphQL object into another one by starting a builder with all * the current values and allows you to transform it how you want. * * @param builderConsumer the consumer code that will be given a builder to transform * * @return a new GraphQL object based on calling build on that builder */ public GraphQL transform(Consumer<GraphQL.Builder> builderConsumer) { Builder builder = new Builder(this.graphQLSchema); builder .queryExecutionStrategy(nvl(this.queryStrategy, builder.queryExecutionStrategy)) .mutationExecutionStrategy(nvl(this.mutationStrategy, builder.mutationExecutionStrategy)) .subscriptionExecutionStrategy(nvl(this.subscriptionStrategy, builder.subscriptionExecutionStrategy)) .executionIdProvider(nvl(this.idProvider, builder.idProvider)) .instrumentation(nvl(this.instrumentation, builder.instrumentation)) .preparsedDocumentProvider(nvl(this.preparsedDocumentProvider, builder.preparsedDocumentProvider)); builderConsumer.accept(builder); return builder.build(); }
/** * This helps you transform the current GraphQL object into another one by starting a builder with all * the current values and allows you to transform it how you want. * * @param builderConsumer the consumer code that will be given a builder to transform * * @return a new GraphQL object based on calling build on that builder */ public GraphQL transform(Consumer<GraphQL.Builder> builderConsumer) { Builder builder = new Builder(this.graphQLSchema); builder .queryExecutionStrategy(nvl(this.queryStrategy, builder.queryExecutionStrategy)) .mutationExecutionStrategy(nvl(this.mutationStrategy, builder.mutationExecutionStrategy)) .subscriptionExecutionStrategy(nvl(this.subscriptionStrategy, builder.subscriptionExecutionStrategy)) .executionIdProvider(nvl(this.idProvider, builder.idProvider)) .instrumentation(nvl(this.instrumentation, builder.instrumentation)) .preparsedDocumentProvider(nvl(this.preparsedDocumentProvider, builder.preparsedDocumentProvider)); builderConsumer.accept(builder); return builder.build(); }
protected GraphQL createGraphQL() { return GraphQL.newGraphQL(schemaBuilder.getSchema()) .queryExecutionStrategy(createQueryExecutionStrategy()) .mutationExecutionStrategy(createMutationExecutionStrategy()) .subscriptionExecutionStrategy(createSubscriptionExecutionStrategy()) .build(); }
private GraphQL newGraphQL(GraphQLSchema schema, Object context) { ExecutionStrategyProvider executionStrategyProvider = getExecutionStrategyProvider.get(); return GraphQL.newGraphQL(schema) .queryExecutionStrategy(executionStrategyProvider.getQueryExecutionStrategy()) .mutationExecutionStrategy(executionStrategyProvider.getMutationExecutionStrategy()) .subscriptionExecutionStrategy(executionStrategyProvider.getSubscriptionExecutionStrategy()) .instrumentation(getInstrumentation(context)) .preparsedDocumentProvider(getPreparsedDocumentProvider.get()) .build(); }
private GraphQL newGraphQL(GraphQLSchema schema, Object context) { ExecutionStrategyProvider executionStrategyProvider = getExecutionStrategyProvider.get(); return GraphQL.newGraphQL(schema) .queryExecutionStrategy(executionStrategyProvider.getQueryExecutionStrategy()) .mutationExecutionStrategy(executionStrategyProvider.getMutationExecutionStrategy()) .subscriptionExecutionStrategy(executionStrategyProvider.getSubscriptionExecutionStrategy()) .instrumentation(getInstrumentation(context)) .preparsedDocumentProvider(getPreparsedDocumentProvider.get()) .build(); }
private void wireInExecutionStrategies() { //::FigureG GraphQL.newGraphQL(schema) .queryExecutionStrategy(new AsyncExecutionStrategy()) .mutationExecutionStrategy(new AsyncSerialExecutionStrategy()) .build(); //::/FigureG }