Reuse BatchLoaderRegistry in GraphQlService

See gh-29929
This commit is contained in:
dugenkui03
2022-02-21 22:45:41 +08:00
committed by Stephane Nicoll
parent 8ee9681d36
commit 043e5ff0f5
2 changed files with 20 additions and 2 deletions

View File

@@ -123,9 +123,9 @@ public class GraphQlAutoConfiguration {
@Bean
@ConditionalOnMissingBean
public GraphQlService graphQlService(GraphQlSource graphQlSource) {
public GraphQlService graphQlService(GraphQlSource graphQlSource, BatchLoaderRegistry batchLoaderRegistry) {
ExecutionGraphQlService service = new ExecutionGraphQlService(graphQlSource);
service.addDataLoaderRegistrar(this.batchLoaderRegistry);
service.addDataLoaderRegistrar(batchLoaderRegistry);
return service;
}

View File

@@ -169,6 +169,14 @@ class GraphQlAutoConfigurationTests {
});
}
@Test
void shouldConfigCustomBatchLoaderRegistry() {
this.contextRunner.withUserConfiguration(CustomBatchLoaderRegistryConfiguration.class).run((context) -> {
assertThat(context).getBeanNames(BatchLoaderRegistry.class).containsOnly("customBatchLoaderRegistry");
assertThat(context).hasSingleBean(BatchLoaderRegistry.class);
});
}
@Configuration(proxyBeanMethods = false)
static class CustomGraphQlBuilderConfiguration {
@@ -253,4 +261,14 @@ class GraphQlAutoConfigurationTests {
}
@Configuration(proxyBeanMethods = false)
static class CustomBatchLoaderRegistryConfiguration {
@Bean
BatchLoaderRegistry customBatchLoaderRegistry() {
return mock(BatchLoaderRegistry.class);
}
}
}