Created
September 25, 2019 15:57
-
-
Save jsvd/97353b2d5803e3e1eb6df27571d33959 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/src/main/java/com/jrjackson/JrJacksonBase.java b/src/main/java/com/jrjackson/JrJacksonBase.java | |
index 5b1748e..e000915 100644 | |
--- a/src/main/java/com/jrjackson/JrJacksonBase.java | |
+++ b/src/main/java/com/jrjackson/JrJacksonBase.java | |
@@ -63,7 +63,7 @@ public class JrJacksonBase extends RubyObject { | |
} | |
provider = RubyJacksonModule.createProvider(simpleFormat); | |
} else { | |
- provider = RubyJacksonModule.createProvider(); | |
+ provider = RubyJacksonModule.getDefaultProvider(); | |
} | |
try { | |
diff --git a/src/main/java/com/jrjackson/RubyJacksonModule.java b/src/main/java/com/jrjackson/RubyJacksonModule.java | |
index 6c21f0a..80bb740 100644 | |
--- a/src/main/java/com/jrjackson/RubyJacksonModule.java | |
+++ b/src/main/java/com/jrjackson/RubyJacksonModule.java | |
@@ -18,6 +18,7 @@ public class RubyJacksonModule extends SimpleModule { | |
public static final ObjectMapper static_mapper = new ObjectMapper(); | |
public static final JsonFactory factory = new JsonFactory(static_mapper).disable(JsonFactory.Feature.FAIL_ON_SYMBOL_HASH_OVERFLOW); | |
private static final TimeZone utcTimeZone = TimeZone.getTimeZone("UTC"); | |
+ private static final ThreadLocal<DefaultSerializerProvider> localProvider = ThreadLocal.withInitial(() -> createProvider()); | |
static { | |
static_mapper.registerModule(new RubyJacksonModule().addSerializer( | |
@@ -60,6 +61,10 @@ public class RubyJacksonModule extends SimpleModule { | |
return createProvider(rdf); | |
} | |
+ public static DefaultSerializerProvider getDefaultProvider() { | |
+ return localProvider.get(); | |
+ } | |
+ | |
public static ObjectMapper rawBigNumberMapper() { | |
static_mapper.enable(DeserializationFeature.USE_BIG_DECIMAL_FOR_FLOATS); | |
static_mapper.enable(DeserializationFeature.USE_BIG_INTEGER_FOR_INTS); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment