Comments (11)
I see the following issues
- The GraphQL library that is referenced by Boot 2.7 is newer than the one supported with the current product. To align both, you'll have to bump the
spqr.version
first - There are some deprecation warnings, that are easily fixed as far as I can tell
A necessary change is to adapt how the auto configuration is loaded. Spring Boot 2.7 supports the old way (with spring.factories
) and the new way (with org.springframework.boot.autoconfigure.AutoConfiguration.imports
plus using now @AutoConfiguration
, with the latter not allowing to proxy @Bean
methods anymore, but you are doing that anyway).
I'll send a PR in a sec addressing these things. Feel free to edit whatever you want, especially my changes unrelated to auto config (I don't have a clue honestly how the SPQR / GraphQL system works, I'm just here with my dear colleague @SaschaPeukert). The remaining changes to auto config are sane and will allow proper usage in at least Boot 2.7 and most likely with Boot 3 (given that the GraphQL version is compatible).
from graphql-spqr-spring-boot-starter.
With GraphQL SPQR v0.12.0 out the door, I will have a look at the state of this project. But, fair warning, there's a good chance that maintaining it in the current shape in light of the official starter is nonsensical. The easiest way forward may be to build a smaller extension on top of the official starter. But that's currently just a theory. Either way, it will take time to explore the options and see what to do,
from graphql-spqr-spring-boot-starter.
I would love to have it too
from graphql-spqr-spring-boot-starter.
The issue I get while upgrading to Boot 2.7 is the following exception:
org.springframework.beans.BeanInstantiationException: Failed to instantiate [graphql.schema.GraphQLSchema]: Factory method 'graphQLSchema' threw exception; nested exception is java.lang.NoClassDefFoundError: graphql/execution/batched/Batched
from graphql-spqr-spring-boot-starter.
It is such a wonderful project, but it is not up-to-date (again). I need to fix it locally to use spring 2.7.
from graphql-spqr-spring-boot-starter.
You can fix it in your gradle build like this:
plugins {
id 'org.springframework.boot' version "2.7.3"
// to use ext['graphql-java.version'] this plugin is needed:
id "io.spring.dependency-management" version "1.0.13.RELEASE"
}
// https://github.com/leangen/graphql-spqr-spring-boot-starter/issues/119
ext['graphql-java.version'] = '16.2'
from graphql-spqr-spring-boot-starter.
@kicktipp Any maven version for this?
from graphql-spqr-spring-boot-starter.
With Spring-Boot 3.0.0 this problem seems to have become even bigger aka its not compatible anymore because spring changed that spring.factories mechanism
from graphql-spqr-spring-boot-starter.
If any of you would like to help upgrade this to the latest Spring Boot and SPQR versions, please do.
from graphql-spqr-spring-boot-starter.
Thanks a bunch for this! 😊 It's of great help!
There seems to be one place where bean method proxying was unfortunately used, but I'm not sure why... I'll have a look in a second.
from graphql-spqr-spring-boot-starter.
You made the configurational class bean on its own and you can't auto inject into the overloaded method. I pushed this down, so that the configurer is a bean on its own rights, inject the executor. That should work.
from graphql-spqr-spring-boot-starter.
Related Issues (20)
- release 0.0.7 to maven central HOT 5
- Upgrade to Spring Boot v2.7.6 and SPQR v0.12.1 (graphql-java v20.0)
- Plan to update for Spring Boot 3 HOT 5
- Upgrade to 0.0.7 with springboot 2.7.6 Failing - Java Project HOT 1
- Disable introspection HOT 1
- Upgrade to graphql-spqr-spring-boot-starter:0.0.5+ and spring-boot v2.7.x fails with invalid schema issue HOT 1
- How to enable logging of exceptions
- Description for mutation parameters are empty in graphql playground HOT 3
- Spring Boot 3 Support? HOT 12
- failed to request http://localhost:8080/graphql caused by graphql.AssertException: query can't be null HOT 1
- Error starting v1.0.0 - ClassNotFoundException - SimplePerformantInstrumentation HOT 2
- How to test with GraphQlTester?
- GraphiQL 3.x integration in project HOT 3
- Failed with Spring Boot 3.2.0-RC2 HOT 5
- starter 1.0.1 - Duplicate type mappers of type .JsonArrayAdapter HOT 3
- Serialized OffsetDateTime has no time zone offset HOT 3
- GraphQLSchemaGenerator to graphqls file HOT 2
- IllegalStateException: At least one top-level operation source must be registered HOT 1
- Is graphql-spqr-spring-boot-starter 1.0.1 compatibile with spring boot 3.2.4? HOT 1
- PerConnectionApolloHandler sends wrong sub-protocol HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from graphql-spqr-spring-boot-starter.