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

แชร์
ฝัง
  • เผยแพร่เมื่อ 15 ต.ค. 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.

  • @ridhopratama9639
    @ridhopratama9639 ปีที่แล้ว +9

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

  • @lhxperimental
    @lhxperimental ปีที่แล้ว +15

    Chapters please!

  • @DavidParry-Hacker
    @DavidParry-Hacker ปีที่แล้ว

    Thank you Josh for this information. Great video

  • @vikasmessi
    @vikasmessi 7 หลายเดือนก่อน

    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 ?

    • @chrisburl6713
      @chrisburl6713 ปีที่แล้ว +1

      Intellij New UI, you can enable it.

  • @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

  • @Jody-nf2bz
    @Jody-nf2bz ปีที่แล้ว

    "Not least of which"? WTH is that?

  • @rsobies
    @rsobies 4 หลายเดือนก่อน

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