From c3bbe3e3099bed5e496f68d638ce269db08d0f64 Mon Sep 17 00:00:00 2001 From: Steven Schlansker Date: Fri, 28 Jul 2023 08:36:44 -0600 Subject: [PATCH] Blackbird, Afterburner: disable in native-image Fixes #191 --- .../jackson/module/afterburner/AfterburnerModule.java | 6 ++++++ .../fasterxml/jackson/module/blackbird/BlackbirdModule.java | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/afterburner/src/main/java/com/fasterxml/jackson/module/afterburner/AfterburnerModule.java b/afterburner/src/main/java/com/fasterxml/jackson/module/afterburner/AfterburnerModule.java index 2c3496fd7..c4c6f7058 100644 --- a/afterburner/src/main/java/com/fasterxml/jackson/module/afterburner/AfterburnerModule.java +++ b/afterburner/src/main/java/com/fasterxml/jackson/module/afterburner/AfterburnerModule.java @@ -8,6 +8,8 @@ public class AfterburnerModule extends Module implements java.io.Serializable // is this necessary? { + // TODO: replace with jackson-databind/NativeImageUtil.RUNNING_IN_SVM + private static final boolean RUNNING_IN_SVM = System.getProperty("org.graalvm.nativeimage.imagecode") != null; private static final long serialVersionUID = 1L; /* @@ -49,6 +51,10 @@ public AfterburnerModule() { } @Override public void setupModule(SetupContext context) { + if (RUNNING_IN_SVM) + { + return; + } ClassLoader cl = _cfgUseValueClassLoader ? null : getClass().getClassLoader(); context.addBeanDeserializerModifier(new DeserializerModifier(cl, _cfgUseOptimizedBeanDeserializer)); diff --git a/blackbird/src/main/java/com/fasterxml/jackson/module/blackbird/BlackbirdModule.java b/blackbird/src/main/java/com/fasterxml/jackson/module/blackbird/BlackbirdModule.java index a912ab73c..26402e1cd 100644 --- a/blackbird/src/main/java/com/fasterxml/jackson/module/blackbird/BlackbirdModule.java +++ b/blackbird/src/main/java/com/fasterxml/jackson/module/blackbird/BlackbirdModule.java @@ -12,6 +12,8 @@ public class BlackbirdModule extends Module { + // TODO: replace with jackson-databind/NativeImageUtil.RUNNING_IN_SVM + private static final boolean RUNNING_IN_SVM = System.getProperty("org.graalvm.nativeimage.imagecode") != null; private Function, Lookup> _lookups; public BlackbirdModule() { @@ -35,6 +37,10 @@ public BlackbirdModule(Supplier lookup) { @Override public void setupModule(SetupContext context) { + if (RUNNING_IN_SVM) + { + return; + } CrossLoaderAccess openSesame = new CrossLoaderAccess(); context.addBeanDeserializerModifier(new BBDeserializerModifier(_lookups, openSesame)); context.addBeanSerializerModifier(new BBSerializerModifier(_lookups, openSesame));