-
graalvm-reachability-metadata
Repository which contains community-driven collection of GraalVM reachability metadata for open-source libraries.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
In practice, Spring Boot 3 provide an optimized footprint with 0 class explicitly initialized at build time, 0 library substitution, and Boot 3.0 is just the first step, Boot 3.x should be able to leverage those GraalVM improvements to optimize the footprint even more, in a maintainable way. Future versions are also likely to ship more AOT transformations like this one.
Spring Boot 3 will be the first framework to 100% leverage the GraalVM reachability repository that we have co-created with GraalVM team for supporting JVM libraries which does not provide out of the box native compatibility. We (the Spring team) have contributed most of libraries currently supported and plan to continue, and we welcome other frameworks and the JVM community to do the same.
I build and published Certificate Ripper using GraalVM and the resulting native executable is amazing fast compared to a fat jar
The httpserver is here. Contrary to the readme it does support compression for both deflate and gz. No multipart form parsing, SSE, HTTP/2 or websockets.
I'm genuinely curious from a technical standpoint. There is already spring cloud functions. And there is a cool blog post that shows how to transform vanilla spring boot to spring cloud functions. https://github.com/sbaitmangalkar/spring-to-awslambda it is based on this tutorial - https://javadungeon.wordpress.com/2017/08/18/transforming-spring-restful-apis-to-aws-lambda-functions
You can have a look to https://github.com/spring-projects/spring-aot-smoke-tests that we use that test various use cases and related https://ci.spring.io/teams/spring-aot-smoke-tests/pipelines/spring-aot-smoke-tests-1.0.x CI test results.
We have developed a GraalVM feature that allows to precompute at build time the value of static fields without having to use build-time initialization of classes, so you get some of the benefits in term of build time code removal without the compatibility drawback. Build time class initialization is IMO (and this advice is shared by more and more people including in the GraalVM core team) is the wrong solution to a true problem, and Spring collaborate very closely with GraalVM team and other frameworks to solve this in upcoming GraalVM versions, see https://github.com/graalvm/taming-build-time-initialization for more technical information.
Notice Spring Framework 6 that Spring Boot 3 leverages, includes other efficiency improvements like property determination without java.beans.Introspector which is 10x faster compared to previous codepath.