Spring Tips: the road to Spring Boot 3: ahead-of-time compilation and GraalVM

Sdílet
Vložit
  • čas přidán 22. 11. 2022
  • Hi, Spring fans! In this installment of Spring Tips, we look at everything you ever wanted (and didn't) to know about the fantastic new ahead-of-time (AOT) compilation engine in Spring Framework 6 and Spring Boot 3 (due out November 24th, 2022!) that supports GraalVM usecases, and how it brings the Spring component model, and your applications, to new, blazing-fast and memory-efficient places.
    code: github.com/spring-tips/spring...
  • Věda a technologie

Komentáře • 24

  • @DavidParry-Hacker
    @DavidParry-Hacker Před rokem

    Thank you Josh for this information. Great video

  • @amintalukder7189
    @amintalukder7189 Před rokem +6

    I am not quite convinced to use gralvm trading off with memoryfootprint and boottime against littlepain overhead in reflection, proxies or other management. May be i am wrong. But as @JoshLong well said - this is not the end but the beginning. Hopefully in coming days my impression will change. Great Video from the Great, my alltime favorite, The JoshLong.

  • @lhxperimental
    @lhxperimental Před rokem +15

    Chapters please!

  • @alexeibrinza2719
    @alexeibrinza2719 Před rokem +6

    I found that it's quite difficult to use GraalVM native image and Spring boot in real world applications.
    No doubt that Spring has great support for metadata needed for GraalVM native image, however applications typically consist other dependencies, not only from Spring ecosystem.
    Third party libraries have poor support for GraalVM native images. Even though libraries can be adopted with metadata, it takes a lot of time to create metadata properly. Also GraalVM metadata needs to be reviewed when third party library is updated to a new version.

  • @thalesfil
    @thalesfil Před rokem

    Thanks for video ! Very nice ! So, you can show a video about open telemetry. For exemple, how to pass any parameter "-javaagent" at a code compilated by graalVM.

  • @vikasmessi
    @vikasmessi Před 4 měsíci

    Although the startup time is ten folds faster it takes way too much memory to build the executable. This is in reference to building a simple spring boot app with a simple database connection 😮‍💨

  • @ridhopratama9639
    @ridhopratama9639 Před rokem +9

    it would be nice if you show the demo until deployment, maybe to minikube😄

  • @Codesskyer947
    @Codesskyer947 Před rokem +4

    Can we have spring cloud demo i.e Gateway,Config-server,Eureka
    using GraaLVM?

  • @mls4108
    @mls4108 Před rokem +1

    what's that 'uao' command that unzip and open the project? my guess is that was made by you, nice tool

  • @devslikeme
    @devslikeme Před rokem

    Which version of Intellij Idea is that ?

  • @Muescha
    @Muescha Před rokem

    at 08:00 -> i done the mvn command with `-Pnative` but it not construct the binary :/

    • @Muescha
      @Muescha Před rokem

      FYI: i had to do a `mvn -DskipTests -Pnative native:compile` to generate the binary - i don't know why this different command is needed?

    • @bentels5340
      @bentels5340 Před rokem

      @@Muescha spring-boot:build-image builds a docker image. With the native profile I guess that image contains a natively compiled program.

    • @0xplox547
      @0xplox547 Před rokem

      @@Muescha probably because your are running your tests. mockito doesnt support native builds yet.

  • @kathirvelk1987
    @kathirvelk1987 Před rokem

    Can I use this (Spring 3 + GraalVM) to compile JavaFX Application?

  • @ciit
    @ciit Před rokem

    Aot Compiled Programs Start faster Need LEss Memory but Show worse performance. Tested that many times

    • @aseemsavio6696
      @aseemsavio6696 Před rokem +1

      would you mind sharing how the results look like?

    • @sk8erbyern
      @sk8erbyern Před rokem

      ongoing compiler optimizations on frequently used code segments (hotspots???) make the difference for JiT I suppose.

    • @MauroGomezMejia
      @MauroGomezMejia Před rokem

      Have the same result but trying to scale to zero, because i think the idea it's that the instances die as fast as possible. I'm having some issues but in GCP connections; in performance we solve it by let each instance live about 5 to 10 minutes

  • @Jody-nf2bz
    @Jody-nf2bz Před rokem

    "Not least of which"? WTH is that?

  • @rsobies
    @rsobies Před měsícem

    graalvm cannot be trusted , you can end up with coruppted binary. example: objectmapper.wrireObjectAsString will return empty string when compiled to native image