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

Поділитися
Вставка
  • Опубліковано 12 вер 2024
  • 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/spr...

КОМЕНТАРІ • 24

  • @amintalukder7189
    @amintalukder7189 Рік тому +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.

  • @alexeibrinza2719
    @alexeibrinza2719 Рік тому +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.

  • @lhxperimental
    @lhxperimental Рік тому +15

    Chapters please!

  • @ridhopratama9639
    @ridhopratama9639 Рік тому +9

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

  • @DavidParry-Hacker
    @DavidParry-Hacker Рік тому

    Thank you Josh for this information. Great video

  • @vikasmessi
    @vikasmessi 6 місяців тому

    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 😮‍💨

  • @thalesfil
    @thalesfil Рік тому

    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.

  • @Codesskyer947
    @Codesskyer947 Рік тому +4

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

  • @mls4108
    @mls4108 Рік тому +1

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

  • @devslikeme
    @devslikeme Рік тому

    Which version of Intellij Idea is that ?

  • @Muescha
    @Muescha Рік тому

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

    • @Muescha
      @Muescha Рік тому

      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 Рік тому

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

    • @0xplox547
      @0xplox547 Рік тому

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

  • @kathirvelk1987
    @kathirvelk1987 Рік тому

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

  • @ciit
    @ciit Рік тому

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

    • @aseemsavio6696
      @aseemsavio6696 Рік тому +1

      would you mind sharing how the results look like?

    • @sk8erbyern
      @sk8erbyern Рік тому

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

    • @MauroGomezMejia
      @MauroGomezMejia Рік тому

      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

  • @rsobies
    @rsobies 3 місяці тому

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

  • @Jody-nf2bz
    @Jody-nf2bz Рік тому

    "Not least of which"? WTH is that?