Skip to content

Weaxs/graalvm-springboot-demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Demos for using graalvm with spring-boot

Demos for graalvm with springboot projects.

Attention

If you upgrade graalvm 22.0=>23.0, you need care about this Turn all GraalVM Languages artifacts into standard Maven dependencies for Polyglot Embedders

After GraalVM 23.0, it's not necessary to use gu install to install languages, just use standard Maven dependencies

spring with graalvm-jdk (graalvm-jdk version < 23.0)

JDKgraalvm-jdk

dependency: org.graalvm.sdk:graal-sdk

support language:

icon language requied doc github repo
python gu install python Python Reference graalpython
R gu install R R Reference fastr
js, nodejs gu install js
gu install nodejs
JavaScript and Node.js Reference graaljs
C/C++, Fortran, Rust and others gu install llvm LLVM Reference
ruby gu install ruby Ruby Reference truffleruby

✨ 1.gu command in “../graalvm-ce-xx/Contents/Home/bin” directory
✨ 2. before use llvm, must compile c/c++/fortran/rus/others to executables with embedded bitcode. you can use clang/clang++ in llvm-toolchain, refer Compiling to LLVM Bitcode

spring with openjdk (graalvm-jdk version >= 23.0)

JDKopenjdk

dependency: org.graalvm.sdk:graal-sdk, org.graalvm.polyglot:js-community, org.graalvm.polyglot:python-community, org.graalvm.polyglot:llvm-community, org.graalvm.polyglot:ruby-community

support language:

icon language requied doc github repo maven repo
js, nodejs (ECMAScript=>5-14/2015-2023) org.graalvm.polyglot:js-community JavaScript and Node.js Reference graaljs maven js-community
python (python=>3.10.8) org.graalvm.polyglot:python-community Python Reference graalpython maven python-community
C/C++, Fortran, Rust and others (llvm=>16.0.1;) org.graalvm.polyglot:llvm-community LLVM Reference maven llvm-community
ruby (ruby=>3.2.2) org.graalvm.polyglot:ruby-community Ruby Reference truffleruby maven ruby-community

sandbox resource limits

Community

delight-graaljs-sandbox

delight-nashorn-sandbox

graalvm official

polyglot-sandbox

resource-limits

graalvm docker container

Github Container Registry: https://github.com/orgs/graalvm/packages

Github Repo: https://github.com/graalvm/container

container install command link
graalvm-ce docker pull ghcr.io/graalvm/graalvm-ce:{VERSION} https://github.com/graalvm/container/pkgs/container/graalvm-ce
jdk docker pull ghcr.io/graalvm/jdk:{VERSION} https://github.com/graalvm/container/pkgs/container/jdk
native-image docker pull ghcr.io/graalvm/native-image:{VERSION} https://github.com/graalvm/container/pkgs/container/native-image
truffleruby docker pull ghcr.io/graalvm/truffleruby:{VERSION} https://github.com/graalvm/container/pkgs/container/truffleruby
nodejs docker pull ghcr.io/graalvm/nodejs:{VERSION} https://github.com/graalvm/container/pkgs/container/nodejs
graalpy docker pull ghcr.io/graalvm/graalpy:{VERSION} https://github.com/graalvm/container/pkgs/container/graalpy

Reference

graalvm-demos repo

graalvm examples

graalvm docs