diff --git a/components/camel-zookeeper-master/src/main/java/org/apache/camel/component/zookeepermaster/MasterConsumer.java b/components/camel-zookeeper-master/src/main/java/org/apache/camel/component/zookeepermaster/MasterConsumer.java
index a35136ab889ec..55eff9afd84b4 100644
--- a/components/camel-zookeeper-master/src/main/java/org/apache/camel/component/zookeepermaster/MasterConsumer.java
+++ b/components/camel-zookeeper-master/src/main/java/org/apache/camel/component/zookeepermaster/MasterConsumer.java
@@ -16,9 +16,6 @@
*/
package org.apache.camel.component.zookeepermaster;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.SerializationFeature;
import org.apache.camel.Consumer;
import org.apache.camel.Processor;
import org.apache.camel.SuspendableService;
@@ -29,6 +26,9 @@
import org.apache.camel.support.service.ServiceHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import tools.jackson.databind.DeserializationFeature;
+import tools.jackson.databind.SerializationFeature;
+import tools.jackson.databind.json.JsonMapper;
/**
* A consumer which is only really active while it holds the master lock
@@ -63,9 +63,10 @@ public boolean isMaster() {
@ManagedOperation(description = "Information about all the slaves")
public String slaves() {
try {
- return new ObjectMapper()
+ return JsonMapper.builder()
.enable(SerializationFeature.INDENT_OUTPUT)
.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)
+ .build()
.writeValueAsString(groupListener.getGroup().slaves());
} catch (Exception e) {
return null;
diff --git a/components/camel-zookeeper-master/src/main/java/org/apache/camel/component/zookeepermaster/group/NodeState.java b/components/camel-zookeeper-master/src/main/java/org/apache/camel/component/zookeepermaster/group/NodeState.java
index 98a90b16c0e28..11944d092af26 100644
--- a/components/camel-zookeeper-master/src/main/java/org/apache/camel/component/zookeepermaster/group/NodeState.java
+++ b/components/camel-zookeeper-master/src/main/java/org/apache/camel/component/zookeepermaster/group/NodeState.java
@@ -19,8 +19,7 @@
import java.util.UUID;
import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.ObjectMapper;
public class NodeState {
@@ -61,7 +60,7 @@ public String getContainer() {
@Override
public String toString() {
try {
- return new ObjectMapper().disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES).writeValueAsString(this);
+ return new ObjectMapper().writeValueAsString(this);
} catch (Exception e) {
return super.toString();
}
diff --git a/components/camel-zookeeper-master/src/main/java/org/apache/camel/component/zookeepermaster/group/internal/ZooKeeperGroup.java b/components/camel-zookeeper-master/src/main/java/org/apache/camel/component/zookeepermaster/group/internal/ZooKeeperGroup.java
index d251114fc1063..e8d9c45bf1817 100644
--- a/components/camel-zookeeper-master/src/main/java/org/apache/camel/component/zookeepermaster/group/internal/ZooKeeperGroup.java
+++ b/components/camel-zookeeper-master/src/main/java/org/apache/camel/component/zookeepermaster/group/internal/ZooKeeperGroup.java
@@ -39,8 +39,6 @@
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.camel.component.zookeepermaster.group.Group;
import org.apache.camel.component.zookeepermaster.group.GroupListener;
import org.apache.camel.component.zookeepermaster.group.NodeState;
@@ -57,6 +55,9 @@
import org.apache.zookeeper.data.Stat;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import tools.jackson.databind.DeserializationFeature;
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.json.JsonMapper;
/**
*
@@ -74,7 +75,9 @@
public class ZooKeeperGroup implements Group {
private static final Logger LOG = LoggerFactory.getLogger(ZooKeeperGroup.class);
- private static ObjectMapper mapper = new ObjectMapper().disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
+ private static ObjectMapper mapper = JsonMapper.builder()
+ .disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)
+ .build();
private final Class clazz;
private final CuratorFramework client;
@@ -210,7 +213,7 @@ public void close() throws IOException {
}
listeners.clear();
mapper.getTypeFactory().clearCache();
- mapper = new ObjectMapper().disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
+ mapper = JsonMapper.builder().disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES).build();
client.clearWatcherReferences(childrenWatcher);
client.clearWatcherReferences(dataWatcher);
@@ -592,11 +595,7 @@ private byte[] encode(T state) {
}
private T decode(byte[] data) {
- try {
- return mapper.readValue(data, clazz);
- } catch (IOException e) {
- throw new IllegalStateException("Unable to decode data", e);
- }
+ return mapper.readValue(data, clazz);
}
private void offerOperation(Operation operation) {
diff --git a/components/camel-zookeeper-master/src/main/java/org/apache/camel/component/zookeepermaster/policy/MasterRoutePolicy.java b/components/camel-zookeeper-master/src/main/java/org/apache/camel/component/zookeepermaster/policy/MasterRoutePolicy.java
index 3abbb0c5f36f4..501207bfdbb36 100644
--- a/components/camel-zookeeper-master/src/main/java/org/apache/camel/component/zookeepermaster/policy/MasterRoutePolicy.java
+++ b/components/camel-zookeeper-master/src/main/java/org/apache/camel/component/zookeepermaster/policy/MasterRoutePolicy.java
@@ -18,9 +18,6 @@
import java.util.concurrent.atomic.AtomicBoolean;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.SerializationFeature;
import org.apache.camel.CamelContext;
import org.apache.camel.CamelContextAware;
import org.apache.camel.Route;
@@ -38,6 +35,9 @@
import org.apache.curator.framework.CuratorFramework;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import tools.jackson.databind.DeserializationFeature;
+import tools.jackson.databind.SerializationFeature;
+import tools.jackson.databind.json.JsonMapper;
/**
* {@link org.apache.camel.spi.RoutePolicy} to run the route in master/slave mode.
@@ -179,9 +179,10 @@ public String slaves() {
return null;
}
try {
- return new ObjectMapper()
+ return JsonMapper.builder()
.enable(SerializationFeature.INDENT_OUTPUT)
.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)
+ .build()
.writeValueAsString(groupListener.getGroup().slaves());
} catch (Exception e) {
return null;
diff --git a/components/camel-zookeeper-master/src/test/java/org/apache/camel/component/zookeepermaster/group/internal/ZooKeeperGroupTest.java b/components/camel-zookeeper-master/src/test/java/org/apache/camel/component/zookeepermaster/group/internal/ZooKeeperGroupTest.java
index 3dd745e8c3bc2..5fc9075ce859d 100644
--- a/components/camel-zookeeper-master/src/test/java/org/apache/camel/component/zookeepermaster/group/internal/ZooKeeperGroupTest.java
+++ b/components/camel-zookeeper-master/src/test/java/org/apache/camel/component/zookeepermaster/group/internal/ZooKeeperGroupTest.java
@@ -21,8 +21,6 @@
import java.util.List;
import java.util.Map;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.camel.component.zookeepermaster.group.NodeState;
import org.apache.camel.test.AvailablePortFinder;
import org.apache.curator.framework.CuratorFramework;
@@ -32,6 +30,8 @@
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
+import tools.jackson.databind.DeserializationFeature;
+import tools.jackson.databind.json.JsonMapper;
import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.CoreMatchers.notNullValue;
@@ -72,7 +72,10 @@ public void tearDown() throws IOException {
private static void putChildData(ZooKeeperGroup group, String path, String container) throws Exception {
NodeState node = new NodeState("test", container);
ByteArrayOutputStream data = new ByteArrayOutputStream();
- new ObjectMapper().disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES).writeValue(data, node);
+ JsonMapper.builder()
+ .disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)
+ .build()
+ .writeValue(data, node);
ChildData child = new ChildData<>(path, new Stat(), data.toByteArray(), node);
group.putCurrentData(path, child);
}
diff --git a/core/camel-core/pom.xml b/core/camel-core/pom.xml
index 9de7721550807..3f007d5ab47c0 100644
--- a/core/camel-core/pom.xml
+++ b/core/camel-core/pom.xml
@@ -219,12 +219,12 @@
- com.fasterxml.jackson.core
+ tools.jackson.core
jackson-databind
test
- com.fasterxml.jackson.core
+ tools.jackson.core
jackson-core
test
diff --git a/core/camel-support/pom.xml b/core/camel-support/pom.xml
index 9480c6c1b48bf..dfa357e9ea0c0 100644
--- a/core/camel-support/pom.xml
+++ b/core/camel-support/pom.xml
@@ -65,6 +65,13 @@
slf4j-api
+