graphql-java-kickstart / graphql-java-servlet

Servlet endpoint for GraphQL Java
https://www.graphql-java-kickstart.com/servlet/
Other
223 stars 114 forks source link

Get an error of not support async for "ConfiguredGraphQLHttpServlet" #576

Open willgss opened 1 month ago

willgss commented 1 month ago

I go the following error when integrate graphql in to springboot with "graphql-spring-boot-starter".

Unable to start async because the following classes in the processing chain do not support async [graphql.kickstart.servlet.ConfiguredGraphQLHttpServlet]

java.lang.IllegalStateException: A filter or servlet of the current chain does not support asynchronous operations.

at org.apache.catalina.connector.Request.startAsync(Request.java:1509)

at org.apache.catalina.connector.RequestFacade.startAsync(RequestFacade.java:720)

at jakarta.servlet.ServletRequestWrapper.startAsync(ServletRequestWrapper.java:358)

at jakarta.servlet.ServletRequestWrapper.startAsync(ServletRequestWrapper.java:358)

at jakarta.servlet.ServletRequestWrapper.startAsync(ServletRequestWrapper.java:358)

at org.springframework.security.web.servletapi.HttpServlet3RequestFactory$Servlet3SecurityContextHolderAwareRequestWrapper.startAsync(HttpServlet3RequestFactory.java:213)

at graphql.kickstart.servlet.SingleAsynchronousQueryResponseWriter.write(SingleAsynchronousQueryResponseWriter.java:32)

at graphql.kickstart.servlet.HttpRequestInvokerImpl.writeResultResponse(HttpRequestInvokerImpl.java:152)

at graphql.kickstart.servlet.HttpRequestInvokerImpl.lambda$handleInternal$3(HttpRequestInvokerImpl.java:135) ....

the following is my pom dependencies:

    <dependency>
        <groupId>com.graphql-java-kickstart</groupId>
        <artifactId>graphql-spring-boot-starter</artifactId>
        <version>15.1.0</version>
        <exclusions>
            <exclusion>
                <groupId>com.graphql-java</groupId>
                <artifactId>graphql-java</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

    <!--the version 22.0 included by graphql-spring-boot-starter will cause server start failure,
     so we use this a lower version instead-->
    <dependency>
        <groupId>com.graphql-java</groupId>
        <artifactId>graphql-java</artifactId>
        <version>21.5</version>
    </dependency>

    <dependency>
        <groupId>com.graphql-java-kickstart</groupId>
        <artifactId>graphql-spring-boot-starter-test</artifactId>
        <version>15.1.0</version>
        <scope>test</scope>
        <exclusions>
            <exclusion>
                <groupId>com.graphql-java</groupId>
                <artifactId>graphql-java</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

Any idea about this issue? Thank you!