Only build GraphQL once

See gh-37
This commit is contained in:
Andreas Marek
2021-03-05 17:46:55 +11:00
committed by Rossen Stoyanchev
parent 3843e83d43
commit b6f79f212d
2 changed files with 16 additions and 9 deletions

View File

@@ -58,13 +58,16 @@ public class WebFluxGraphQLAutoConfiguration {
private static final Log logger = LogFactory.getLog(WebFluxGraphQLAutoConfiguration.class);
@Bean
public GraphQL graphQL(GraphQL.Builder graphQLBuilder) {
return graphQLBuilder.build();
}
@Bean
@ConditionalOnMissingBean
public GraphQLHttpHandler graphQLHandler(GraphQL.Builder graphQLBuilder, ObjectProvider<WebInterceptor> interceptors) {
return new GraphQLHttpHandler(graphQLBuilder.build(), interceptors.orderedStream().collect(Collectors.toList()));
public GraphQLHttpHandler graphQLHandler(GraphQL graphQL, ObjectProvider<WebInterceptor> interceptors) {
return new GraphQLHttpHandler(graphQL, interceptors.orderedStream().collect(Collectors.toList()));
}
@Bean
public RouterFunction<ServerResponse> graphQLEndpoint(
GraphQLHttpHandler handler, GraphQLProperties properties, ResourceLoader resourceLoader) {
@@ -88,11 +91,11 @@ public class WebFluxGraphQLAutoConfiguration {
@Bean
@ConditionalOnMissingBean
public GraphQLWebSocketHandler graphQLWebSocketHandler(
GraphQL.Builder graphQLBuilder, GraphQLProperties properties, ServerCodecConfigurer configurer,
GraphQL graphql, GraphQLProperties properties, ServerCodecConfigurer configurer,
ObjectProvider<WebInterceptor> interceptors) {
return new GraphQLWebSocketHandler(
graphQLBuilder.build(), interceptors.orderedStream().collect(Collectors.toList()),
graphql, interceptors.orderedStream().collect(Collectors.toList()),
configurer, properties.getWebsocket().getConnectionInitTimeout()
);
}

View File

@@ -65,12 +65,16 @@ public class WebMvcGraphQLAutoConfiguration {
private static final Log logger = LogFactory.getLog(WebMvcGraphQLAutoConfiguration.class);
@Bean
public GraphQL graphQL(GraphQL.Builder graphQLBuilder) {
return graphQLBuilder.build();
}
@Bean
@ConditionalOnMissingBean
public GraphQLHttpHandler graphQLHandler(GraphQL.Builder graphQLBuilder,
public GraphQLHttpHandler graphQLHandler(GraphQL graphQL,
ObjectProvider<WebInterceptor> interceptors) {
return new GraphQLHttpHandler(graphQLBuilder.build(), interceptors.orderedStream().collect(Collectors.toList()));
return new GraphQLHttpHandler(graphQL, interceptors.orderedStream().collect(Collectors.toList()));
}
@Bean
@@ -98,7 +102,7 @@ public class WebMvcGraphQLAutoConfiguration {
@Bean
@ConditionalOnMissingBean
public GraphQLWebSocketHandler graphQLWebSocketHandler(
GraphQL.Builder graphQLBuilder, GraphQLProperties properties, HttpMessageConverters converters,
GraphQL graphQL, GraphQLProperties properties, HttpMessageConverters converters,
ObjectProvider<WebInterceptor> interceptors) {
HttpMessageConverter<?> converter = converters.getConverters().stream()
@@ -107,7 +111,7 @@ public class WebMvcGraphQLAutoConfiguration {
.orElseThrow(() -> new IllegalStateException("No JSON converter"));
return new GraphQLWebSocketHandler(
graphQLBuilder.build(), interceptors.orderedStream().collect(Collectors.toList()),
graphQL, interceptors.orderedStream().collect(Collectors.toList()),
converter, properties.getWebsocket().getConnectionInitTimeout()
);
}