Search in sources :

Example 6 with DataLoaderRegistry

use of org.dataloader.DataLoaderRegistry in project graphql-java by graphql-java.

the class BatchCompare method dataLoaderRun.

void dataLoaderRun() {
    System.out.println("=== AsyncExecutionStrategy with DataLoader ===");
    GraphQLSchema schema = buildDataLoaderSchema();
    DataLoaderRegistry dataLoaderRegistry = new DataLoaderRegistry();
    dataLoaderRegistry.register("departments", BatchCompareDataFetchers.departmentsForShopDataLoader);
    dataLoaderRegistry.register("products", BatchCompareDataFetchers.productsForDepartmentDataLoader);
    GraphQL graphQL = GraphQL.newGraphQL(schema).instrumentation(new DataLoaderDispatcherInstrumentation(dataLoaderRegistry)).build();
    ExecutionInput executionInput = ExecutionInput.newExecutionInput().query("query { shops { id name departments { id name products { id name } } } }").build();
    ExecutionResult result = graphQL.execute(executionInput);
    System.out.println("\nExecutionResult: " + result.toSpecification());
}
Also used : DataLoaderRegistry(org.dataloader.DataLoaderRegistry) GraphQL(graphql.GraphQL) ExecutionResult(graphql.ExecutionResult) ExecutionInput(graphql.ExecutionInput) GraphQLSchema(graphql.schema.GraphQLSchema)

Aggregations

GraphQL (graphql.GraphQL)6 DataLoaderRegistry (org.dataloader.DataLoaderRegistry)6 DataLoaderDispatcherInstrumentation (graphql.execution.instrumentation.dataloader.DataLoaderDispatcherInstrumentation)5 GraphQLSchema (graphql.schema.GraphQLSchema)5 ExecutionInput (graphql.ExecutionInput)4 ExecutionResult (graphql.ExecutionResult)4 ExecutionInput.newExecutionInput (graphql.ExecutionInput.newExecutionInput)3 ChainedInstrumentation (graphql.execution.instrumentation.ChainedInstrumentation)3 Instrumentation (graphql.execution.instrumentation.Instrumentation)3 TracingInstrumentation (graphql.execution.instrumentation.tracing.TracingInstrumentation)3 DataFetcher (graphql.schema.DataFetcher)3 HashMap (java.util.HashMap)3 List (java.util.List)3 BatchLoader (org.dataloader.BatchLoader)3 DataLoader (org.dataloader.DataLoader)3 StarWarsData (graphql.StarWarsData)2 DataLoaderDispatcherInstrumentationOptions.newOptions (graphql.execution.instrumentation.dataloader.DataLoaderDispatcherInstrumentationOptions.newOptions)2 GraphQLObjectType (graphql.schema.GraphQLObjectType)2 TypeResolver (graphql.schema.TypeResolver)2 RuntimeWiring (graphql.schema.idl.RuntimeWiring)2