Skip to content

Commit

Permalink
Prevent IAE when accessing GraalVM classes (#82)
Browse files Browse the repository at this point in the history
  • Loading branch information
gastaldi authored Oct 18, 2023
1 parent 40924c2 commit 5cf9b06
Showing 1 changed file with 5 additions and 7 deletions.
Original file line number Diff line number Diff line change
@@ -1,18 +1,16 @@
package io.quarkiverse.poi.runtime.graal;

import org.graalvm.nativeimage.ImageSingletons;
import org.graalvm.nativeimage.hosted.Feature;
import org.graalvm.nativeimage.impl.RuntimeClassInitializationSupport;
import org.graalvm.nativeimage.hosted.RuntimeClassInitialization;

public class POIFeature implements Feature {
@Override
public void afterRegistration(AfterRegistrationAccess access) {
final RuntimeClassInitializationSupport runtimeInit = ImageSingletons.lookup(RuntimeClassInitializationSupport.class);
final String reason = "Quarkus run time init for Apache POI";
runtimeInit.initializeAtRunTime("org.apache.poi.hssf.util", reason);
runtimeInit.initializeAtRunTime("org.apache.poi.ss.format", reason);
runtimeInit.initializeAtRunTime("org.apache.poi.util.RandomSingleton", reason);
runtimeInit.initializeAtRunTime("org.apache.poi.ss.util.SheetUtil", reason);
RuntimeClassInitialization.initializeAtRunTime("org.apache.poi.hssf.util", reason);
RuntimeClassInitialization.initializeAtRunTime("org.apache.poi.ss.format", reason);
RuntimeClassInitialization.initializeAtRunTime("org.apache.poi.util.RandomSingleton", reason);
RuntimeClassInitialization.initializeAtRunTime("org.apache.poi.ss.util.SheetUtil", reason);
}

@Override
Expand Down

0 comments on commit 5cf9b06

Please sign in to comment.