From abfdc79e77771109b54f162fa1120ef03978f632 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Galder=20Zamarre=C3=B1o?= Date: Sat, 2 Oct 2021 13:18:46 +0200 Subject: [PATCH] Make KieModuleMarshaller runtime initialized (#1594) --- .../runtime/graal/OptaPlannerFeature.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 optaplanner-quarkus-integration/optaplanner-quarkus/runtime/src/main/java/org/optaplanner/quarkus/runtime/graal/OptaPlannerFeature.java diff --git a/optaplanner-quarkus-integration/optaplanner-quarkus/runtime/src/main/java/org/optaplanner/quarkus/runtime/graal/OptaPlannerFeature.java b/optaplanner-quarkus-integration/optaplanner-quarkus/runtime/src/main/java/org/optaplanner/quarkus/runtime/graal/OptaPlannerFeature.java new file mode 100644 index 00000000000..72d566a9809 --- /dev/null +++ b/optaplanner-quarkus-integration/optaplanner-quarkus/runtime/src/main/java/org/optaplanner/quarkus/runtime/graal/OptaPlannerFeature.java @@ -0,0 +1,17 @@ +package org.optaplanner.quarkus.runtime.graal; + +import org.graalvm.nativeimage.ImageSingletons; +import org.graalvm.nativeimage.hosted.Feature; +import org.graalvm.nativeimage.impl.RuntimeClassInitializationSupport; + +import com.oracle.svm.core.annotate.AutomaticFeature; + +@AutomaticFeature +public class OptaPlannerFeature implements Feature { + @Override + public void afterRegistration(AfterRegistrationAccess access) { + final RuntimeClassInitializationSupport runtimeInit = ImageSingletons.lookup(RuntimeClassInitializationSupport.class); + final String reason = "Quarkus run time init for OptaPlanner"; + runtimeInit.initializeAtRunTime("org.drools.compiler.kproject.models.KieModuleMarshaller", reason); + } +}