Skip to content

Latest commit

 

History

History
111 lines (94 loc) · 4.22 KB

File metadata and controls

111 lines (94 loc) · 4.22 KB

GraalVM Native Image

Overview

Helidon applications can be compiled into a native executable using the GraalVM native-image command.

When using applications created using the CLI, or when you configure Helidon application pom as a parent of your module, you can use the following steps to build a native image from your application:

  1. Create an environment variable GRAALVM_HOME pointing to your installation of GraalVM with native-image installed

  2. Run the Maven command mvn clean package -Pnative-image

  3. Execute the native executable created in the target directory of your project

Supported Modules

Some Helidon components are not (yet) supported in the native image, some have restrictions. The following table lists all Helidon features and their support for the native image.

Table 1. Helidon MP features in AOT
  Feature Component AOT note

CDI

CDI

 

Config

Config

 

 

Encryption

 

 

YAML

 

Fault Tolerance

Fault Tolerance

 

Health

Health

 

 

Built-ins

 

JAX-RS

JAX-RS

 

JPA

JPA

 

 

EclipseLink

Not yet tested.

🔶

 

Hibernate

Experimental support, tested on limited use cases with Helidon Oracle and H2 JDBC modules

🔶

JTA

JTA

Experimental support, tested on limited use cases

Messaging

Messaging

 

Metrics

Metrics

 

Open API

Open API

 

🔶

REST Client

REST Client

Does not support execution of default methods on interfaces.

Security

Security

 

 

Integration: Jersey

 

 

Integration: WebServer

 

 

Integration: gRPC

 

 

JWT Auth

 

 

OIDC

 

 

Provider: ABAC

 

 

Provider/ABAC/Policy: EL

Requires reflection configuration for used classes.

 

Provider/ABAC: Role

 

 

Provider/ABAC: Scope

 

 

Provider/ABAC: Time

 

 

Provider: Google Login

Not yet tested.

 

Provider: Header

 

 

Provider: HTTP Basic

 

 

Provider: HTTP Digest

 

 

Provider: HTTP Signatures

 

 

Provider: IDCS Role Mapper

Not yet tested.

 

Provider: JWT

 

Server

Server

 

 

Access Log

 

 

CORS

 

Tracing

Tracing

 

 

Integration: Jersey Server

 

 

Integration: Jersey Client

 

 

Jaeger

 

 

Zipkin

 

Web Client

Web Client

 

 

Metrics

 

 

Security

 

 

Tracing

 

 

Websocket

Server only.

gRPC Server

gRPC Server

Since GraalVM 21.0.0

 

Metrics

 

gRPC Client

gRPC Client

Since GraalVM 21.0.0

 

Metrics

 

Scheduling

Scheduling

 

OCI

OCI Integration

Modules with group id io.helidon.integrations.oci

Vault

Hashicorp Vault Integration

 

Long Running Actions

Client

 

 

Coordinator

Only with external database