Skip to content

Commit 7c7a32a

Browse files
committed
Auto-configure GraphQL subscription exception handling
Closes gh-31794
1 parent a6f6582 commit 7c7a32a

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/GraphQlAutoConfiguration.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
import org.springframework.graphql.execution.DefaultExecutionGraphQlService;
5151
import org.springframework.graphql.execution.GraphQlSource;
5252
import org.springframework.graphql.execution.RuntimeWiringConfigurer;
53+
import org.springframework.graphql.execution.SubscriptionExceptionResolver;
5354

5455
/**
5556
* {@link EnableAutoConfiguration Auto-configuration} for creating a Spring GraphQL base
@@ -76,13 +77,15 @@ public GraphQlAutoConfiguration(ListableBeanFactory beanFactory) {
7677
@ConditionalOnMissingBean
7778
public GraphQlSource graphQlSource(ResourcePatternResolver resourcePatternResolver, GraphQlProperties properties,
7879
ObjectProvider<DataFetcherExceptionResolver> exceptionResolvers,
80+
ObjectProvider<SubscriptionExceptionResolver> subscriptionExceptionResolvers,
7981
ObjectProvider<Instrumentation> instrumentations, ObjectProvider<RuntimeWiringConfigurer> wiringConfigurers,
8082
ObjectProvider<GraphQlSourceBuilderCustomizer> sourceCustomizers) {
8183
String[] schemaLocations = properties.getSchema().getLocations();
8284
Resource[] schemaResources = resolveSchemaResources(resourcePatternResolver, schemaLocations,
8385
properties.getSchema().getFileExtensions());
8486
GraphQlSource.SchemaResourceBuilder builder = GraphQlSource.schemaResourceBuilder()
8587
.schemaResources(schemaResources).exceptionResolvers(toList(exceptionResolvers))
88+
.subscriptionExceptionResolvers(toList(subscriptionExceptionResolvers))
8689
.instrumentation(toList(instrumentations));
8790
if (!properties.getSchema().getIntrospection().isEnabled()) {
8891
builder.configureRuntimeWiring(this::enableIntrospection);

0 commit comments

Comments
 (0)