diff --git a/graphql-kickstart-spring-support/build.gradle b/graphql-kickstart-spring-support/build.gradle index 12f6fac2..c3ce8df7 100644 --- a/graphql-kickstart-spring-support/build.gradle +++ b/graphql-kickstart-spring-support/build.gradle @@ -1,7 +1,7 @@ dependencies { compileOnly "com.graphql-java-kickstart:graphql-java-kickstart:$LIB_GRAPHQL_SERVLET_VER" compileOnly "org.springframework:spring-web:$LIB_SPRING_CORE_VER" - compileOnly "org.springframework:spring-context:$LIB_SPRING_CORE_VER" + compileOnly "org.springframework.boot:spring-boot:$LIB_SPRING_BOOT_VER" testCompile "com.graphql-java-kickstart:graphql-java-kickstart:$LIB_GRAPHQL_SERVLET_VER" testCompile "com.graphql-java:graphql-java:$LIB_GRAPHQL_JAVA_VER" diff --git a/graphql-kickstart-spring-support/src/main/java/graphql/kickstart/spring/error/GraphQLErrorStartupListener.java b/graphql-kickstart-spring-support/src/main/java/graphql/kickstart/spring/error/GraphQLErrorStartupListener.java index 2c6fd583..92dd2479 100644 --- a/graphql-kickstart-spring-support/src/main/java/graphql/kickstart/spring/error/GraphQLErrorStartupListener.java +++ b/graphql-kickstart-spring-support/src/main/java/graphql/kickstart/spring/error/GraphQLErrorStartupListener.java @@ -1,12 +1,12 @@ package graphql.kickstart.spring.error; import graphql.kickstart.execution.error.GraphQLErrorHandler; +import org.springframework.boot.context.event.ApplicationReadyEvent; import org.springframework.context.ApplicationListener; import org.springframework.context.ConfigurableApplicationContext; -import org.springframework.context.event.ContextRefreshedEvent; import org.springframework.lang.NonNull; -public class GraphQLErrorStartupListener implements ApplicationListener { +public class GraphQLErrorStartupListener implements ApplicationListener { private final ErrorHandlerSupplier errorHandlerSupplier; private final boolean exceptionHandlersEnabled; @@ -17,9 +17,9 @@ public GraphQLErrorStartupListener(ErrorHandlerSupplier errorHandlerSupplier, bo } @Override - public void onApplicationEvent(@NonNull ContextRefreshedEvent event) { + public void onApplicationEvent(@NonNull ApplicationReadyEvent event) { if (!errorHandlerSupplier.isPresent()) { - ConfigurableApplicationContext context = (ConfigurableApplicationContext) event.getApplicationContext(); + ConfigurableApplicationContext context = event.getApplicationContext(); GraphQLErrorHandler errorHandler = new GraphQLErrorHandlerFactory().create(context, exceptionHandlersEnabled); context.getBeanFactory().registerSingleton(errorHandler.getClass().getCanonicalName(), errorHandler); errorHandlerSupplier.setErrorHandler(errorHandler); diff --git a/graphql-spring-boot-autoconfigure/src/test/java/com/oembedler/moon/graphql/boot/test/AbstractAutoConfigurationTest.java b/graphql-spring-boot-autoconfigure/src/test/java/com/oembedler/moon/graphql/boot/test/AbstractAutoConfigurationTest.java index 8f7f05a2..c58e1f6b 100644 --- a/graphql-spring-boot-autoconfigure/src/test/java/com/oembedler/moon/graphql/boot/test/AbstractAutoConfigurationTest.java +++ b/graphql-spring-boot-autoconfigure/src/test/java/com/oembedler/moon/graphql/boot/test/AbstractAutoConfigurationTest.java @@ -1,7 +1,9 @@ package com.oembedler.moon.graphql.boot.test; import org.junit.After; +import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration; +import org.springframework.boot.context.event.ApplicationReadyEvent; import org.springframework.boot.test.util.TestPropertyValues; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.AnnotationConfigRegistry; @@ -59,6 +61,7 @@ protected void load(Class config, String... environment) { loadServletContext(); getContext().refresh(); + getContext().publishEvent(new ApplicationReadyEvent(new SpringApplication(), new String[0], getContext())); } private void loadServletContext() {