Skip to content

Commit 4eae7ad

Browse files
committed
fix duplicate dataloader error
1 parent 4ed4def commit 4eae7ad

File tree

1 file changed

+15
-8
lines changed

1 file changed

+15
-8
lines changed

autoconfigure/src/main/java/com/introproventures/graphql/jpa/query/autoconfigure/GraphQLJpaQueryGraphQlExecutionAutoConfiguration.java

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
import static com.introproventures.graphql.jpa.query.schema.impl.BatchLoaderRegistry.getMappedBatchDataLoaderMap;
44

55
import graphql.GraphQL;
6+
import java.util.Map;
7+
import java.util.concurrent.CompletableFuture;
68
import org.dataloader.DataLoaderOptions;
79
import org.springframework.beans.factory.InitializingBean;
810
import org.springframework.beans.factory.ListableBeanFactory;
@@ -14,7 +16,6 @@
1416
import org.springframework.context.annotation.Bean;
1517
import org.springframework.graphql.ExecutionGraphQlService;
1618
import org.springframework.graphql.execution.BatchLoaderRegistry;
17-
import org.springframework.graphql.execution.DefaultExecutionGraphQlService;
1819
import org.springframework.graphql.execution.GraphQlSource;
1920
import reactor.core.publisher.Mono;
2021

@@ -25,7 +26,18 @@ public class GraphQLJpaQueryGraphQlExecutionAutoConfiguration {
2526
@Bean
2627
@ConditionalOnMissingBean
2728
BatchLoaderRegistry batchLoaderRegistry(ListableBeanFactory beanFactory) {
28-
return new GraphQlAutoConfiguration(beanFactory).batchLoaderRegistry();
29+
var batchLoaderRegistry = new GraphQlAutoConfiguration(beanFactory).batchLoaderRegistry();
30+
31+
DataLoaderOptions options = DataLoaderOptions.newOptions().setCachingEnabled(false);
32+
33+
batchLoaderRegistry
34+
.forName(GraphQLJpaQueryGraphQlExecutionAutoConfiguration.class.getName())
35+
.withOptions(options)
36+
.registerMappedBatchLoader((keys, env) ->
37+
Mono.fromCompletionStage(CompletableFuture.completedStage(Map.of()))
38+
);
39+
40+
return batchLoaderRegistry;
2941
}
3042

3143
@Bean
@@ -40,10 +52,7 @@ ExecutionGraphQlService executionGraphQlService(
4052
}
4153

4254
@Bean
43-
InitializingBean batchLoaderRegistryConfigurer(
44-
DefaultExecutionGraphQlService executionGraphQlService,
45-
BatchLoaderRegistry batchLoaderRegistry
46-
) {
55+
InitializingBean batchLoaderRegistryConfigurer(BatchLoaderRegistry batchLoaderRegistry) {
4756
return () -> {
4857
DataLoaderOptions options = DataLoaderOptions.newOptions().setCachingEnabled(false);
4958

@@ -56,8 +65,6 @@ InitializingBean batchLoaderRegistryConfigurer(
5665
Mono.fromCompletionStage(mappedBatchLoader.load(keys, env))
5766
)
5867
);
59-
60-
executionGraphQlService.addDataLoaderRegistrar(batchLoaderRegistry);
6168
};
6269
}
6370
}

0 commit comments

Comments
 (0)