diff --git a/pom.xml b/pom.xml
index d06b80570f5cd..70cbe87778f12 100644
--- a/pom.xml
+++ b/pom.xml
@@ -125,7 +125,7 @@ flexible messaging model and an intuitive client API.
2.18.0
1.69
1.0.2
- 2.14.2
+ 2.16.0
0.9.11
1.6.10
8.37
diff --git a/pulsar-common/src/main/java/org/apache/pulsar/common/util/FieldParser.java b/pulsar-common/src/main/java/org/apache/pulsar/common/util/FieldParser.java
index 40450584764a4..838f944b5d96d 100644
--- a/pulsar-common/src/main/java/org/apache/pulsar/common/util/FieldParser.java
+++ b/pulsar-common/src/main/java/org/apache/pulsar/common/util/FieldParser.java
@@ -21,8 +21,8 @@
import static com.google.common.base.Preconditions.checkArgument;
import static java.lang.String.format;
import static java.util.Objects.requireNonNull;
-import com.fasterxml.jackson.databind.AnnotationIntrospector;
-import com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector;
+import com.fasterxml.jackson.databind.DeserializationConfig;
+import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.util.EnumResolver;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
@@ -58,7 +58,7 @@ public final class FieldParser {
private static final Map CONVERTERS = new HashMap<>();
private static final Map, Class>> WRAPPER_TYPES = new HashMap<>();
- private static final AnnotationIntrospector ANNOTATION_INTROSPECTOR = new JacksonAnnotationIntrospector();
+ private static final DeserializationConfig DESERIALIZATION_CONFIG = new ObjectMapper().getDeserializationConfig();
static {
// Preload converters and wrapperTypes.
@@ -100,7 +100,7 @@ public static T convert(Object from, Class to) {
if (to.isEnum()) {
// Converting string to enum
- EnumResolver r = EnumResolver.constructUsingToString((Class>) to, ANNOTATION_INTROSPECTOR);
+ EnumResolver r = EnumResolver.constructUsingToString(DESERIALIZATION_CONFIG, to);
T value = (T) r.findEnum((String) from);
if (value == null) {
throw new RuntimeException("Invalid value '" + from + "' for enum " + to);