This is an automated email from the ASF dual-hosted git repository.

vavrtom pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/qpid-broker-j.git


The following commit(s) were added to refs/heads/main by this push:
     new 4226d92f41 QPID-8719: [Broker-J] Bump fasterxml jackson dependencies 
versions to 3.0.3 (#353)
4226d92f41 is described below

commit 4226d92f410b039a086faa3accaade1cb0b1ebdc
Author: Daniil Kirilyuk <[email protected]>
AuthorDate: Tue Dec 9 14:13:32 2025 +0100

    QPID-8719: [Broker-J] Bump fasterxml jackson dependencies versions to 3.0.3 
(#353)
    
    * QPID-8719: [Broker-J] Bump fasterxml jackson dependencies versions to 
3.0.2
    
    * Fixed import order in BDBHAVirtualHostNodeTestHelper.java
    
    * Fixed import order in AmqpPortImpl.java
    
    * Fixed import order in CloudFoundryOAuth2IdentityResolverService.java
    
    * Fixed import order in OAuth2AuthenticationProviderImpl.java
    
    * Fixed import order in FacebookIdentityResolverService.java
    
    * Fixed import order in GitHubOAuth2IdentityResolverService.java
    
    * Fixed import order in GoogleOAuth2IdentityResolverService.java
    
    * Fixed import order in KeycloakOAuth2IdentityResolverService.java
    
    * Fixed import order in MicrosoftLiveOAuth2IdentityResolverService.java
    
    * Fixed import order in 
CloudFoundryDashboardManagementGroupProviderImpl.java
    
    * Fixed import order in ConfiguredObjectRecordConverter.java
    
    * Fixed import order in MetaDataServlet.java
    
    * Fixed import order in MessagingACLTest.java
    
    * Fixed import order in SpawnBrokerAdmin.java
    
    ---------
    
    Co-authored-by: vavrtom <[email protected]>
---
 .../dependency-verification/DEPENDENCIES_REFERENCE |  4 +-
 .../replication/ReplicatedEnvironmentFacade.java   |  4 +-
 .../berkeleydb/tuple/ConfiguredObjectBinding.java  |  9 +--
 .../server/store/berkeleydb/tuple/MapBinding.java  |  9 +--
 .../berkeleydb/upgrade/MapJsonSerializer.java      | 10 ++-
 .../store/berkeleydb/upgrade/UpgradeFrom7To8.java  |  9 +--
 .../ReplicatedEnvironmentFacadeTest.java           |  4 +-
 .../berkeleydb/BDBHAVirtualHostNodeTestHelper.java | 11 +--
 .../berkeleydb/replication/GroupBrokerAdmin.java   |  7 +-
 .../berkeleydb/replication/MultiNodeTest.java      |  3 +-
 broker-core/pom.xml                                |  4 +-
 .../server/model/AbstractConfiguredObject.java     |  9 ++-
 .../server/model/AncestorAttributeResolver.java    |  6 +-
 .../qpid/server/model/AttributeValueConverter.java | 15 ++--
 .../model/ConfiguredObjectJacksonModule.java       | 38 ++++++----
 .../server/model/ConfiguredObjectTypeRegistry.java |  5 +-
 .../qpid/server/model/OwnAttributeResolver.java    |  6 +-
 .../qpid/server/model/port/AmqpPortImpl.java       | 10 +--
 .../server/queue/MessageContentJsonConverter.java  | 25 ++++---
 .../oauth2/OAuth2AuthenticationProviderImpl.java   | 10 +--
 .../CloudFoundryOAuth2IdentityResolverService.java | 10 +--
 .../facebook/FacebookIdentityResolverService.java  | 10 +--
 .../GitHubOAuth2IdentityResolverService.java       | 10 +--
 .../GoogleOAuth2IdentityResolverService.java       | 10 +--
 .../KeycloakOAuth2IdentityResolverService.java     | 10 +--
 ...MicrosoftLiveOAuth2IdentityResolverService.java | 10 +--
 ...oundryDashboardManagementGroupProviderImpl.java | 11 +--
 .../qpid/server/store/AbstractJsonFileStore.java   |  3 +-
 .../store/ConfiguredObjectRecordConverter.java     | 10 +--
 .../qpid/server/store/JsonFileConfigStore.java     |  7 +-
 .../store/preferences/JsonFilePreferenceStore.java | 10 +--
 .../org/apache/qpid/server/SystemLauncherTest.java |  4 +-
 .../model/ConfiguredObjectJacksonModuleTest.java   |  4 +-
 .../hierarchy/AncestorAttributeResolverTest.java   |  4 +-
 .../manager/oauth2/OAuth2MockEndpointHolder.java   |  9 +--
 .../encryption/AESGCMKeyFileEncrypterTest.java     |  6 +-
 .../preferences/JsonFilePreferenceStoreTest.java   |  6 +-
 .../org/apache/qpid/server/transport/SNITest.java  |  8 +--
 .../server/transport/TCPandSSLTransportTest.java   |  7 +-
 .../server/protocol/v1_0/LinkRegistryTest.java     |  4 +-
 .../store/derby/DerbyPreferenceStoreTest.java      |  4 +-
 .../store/jdbc/AbstractJDBCConfigurationStore.java | 14 ++--
 .../store/jdbc/AbstractJDBCPreferenceStore.java    | 12 ++--
 .../management/amqp/ManagementInputConverter.java  |  6 +-
 broker-plugins/management-http/pom.xml             |  2 +-
 .../server/management/plugin/HttpManagement.java   |  9 ++-
 .../plugin/servlet/rest/AbstractServlet.java       |  8 +--
 .../plugin/servlet/rest/MetaDataServlet.java       | 10 +--
 .../plugin/servlet/rest/QueryServlet.java          |  3 +-
 .../plugin/servlet/rest/RestServlet.java           |  8 +--
 perftests/pom.xml                                  |  4 +-
 .../dependency-verification/DEPENDENCIES_REFERENCE |  4 +-
 .../disttest/controller/config/ConfigReader.java   |  4 +-
 .../qpid/disttest/jms/QpidRestAPIQueueCreator.java |  4 +-
 .../org/apache/qpid/disttest/json/JsonHandler.java |  2 +-
 .../qpid/disttest/json/ObjectMapperFactory.java    | 80 +++++++++++++---------
 .../config/JavaScriptConfigEvaluatorTest.java      | 19 ++---
 .../qpid/disttest/message/JsonHandlerTest.java     | 15 ++--
 pom.xml                                            |  8 +--
 .../org/apache/qpid/tests/http/HttpTestHelper.java |  6 +-
 .../PreemptiveAuthenticationTest.java              |  3 +-
 .../http/compression/CompressedResponsesTest.java  |  9 ++-
 .../message/CompressedMessageContentTest.java      |  6 +-
 .../endtoend/message/ExportImportMessagesTest.java |  4 +-
 .../endtoend/message/MessageManagementTest.java    |  3 +-
 .../tests/http/endtoend/message/MessageTest.java   |  3 +-
 .../qpid/tests/http/endtoend/port/PortTest.java    |  4 +-
 .../endtoend/state/VirtualHostRecoveryTest.java    |  4 +-
 .../tests/http/endtoend/store/SplitStoreTest.java  |  4 +-
 .../qpid/tests/http/rest/model/CreateTest.java     |  4 +-
 .../qpid/tests/http/rest/model/OperationTest.java  |  4 +-
 .../http/userprefs/UserPreferencesRestTest.java    |  4 +-
 systests/qpid-systests-jms-core/pom.xml            |  4 +-
 .../apache/qpid/systests/AmqpManagementFacade.java |  6 +-
 .../jms_1_1/extensions/BrokerManagementHelper.java |  6 +-
 .../jms_1_1/extensions/acl/MessagingACLTest.java   | 19 +++--
 .../autocreation/DefaultAlternateBindingTest.java  | 10 +--
 .../autocreation/NodeAutoCreationPolicyTest.java   |  7 +-
 .../MessagingConnectionLimitTest.java              |  4 +-
 .../extensions/management/AmqpManagementTest.java  |  4 +-
 .../extensions/maxdelivery/MaxDeliveryTest.java    |  4 +-
 .../routing/AlternateBindingRoutingTest.java       |  4 +-
 .../extensions/routing/ExchangeRoutingTest.java    |  4 +-
 .../qpid/systests/admin/SpawnBrokerAdmin.java      |  7 +-
 .../qpid/tests/utils/OAuth2MockEndpointHolder.java |  8 ++-
 tck/pom.xml                                        |  4 +-
 .../apache/qpid/tck/ManageQpidJMSResources.java    | 18 +++--
 tools/pom.xml                                      |  4 +-
 .../apache/qpid/tools/RestStressTestClient.java    |  4 +-
 89 files changed, 407 insertions(+), 335 deletions(-)

diff --git 
a/apache-qpid-broker-j/src/main/assembly/dependency-verification/DEPENDENCIES_REFERENCE
 
b/apache-qpid-broker-j/src/main/assembly/dependency-verification/DEPENDENCIES_REFERENCE
index 673af0da9a..e48e6197dd 100644
--- 
a/apache-qpid-broker-j/src/main/assembly/dependency-verification/DEPENDENCIES_REFERENCE
+++ 
b/apache-qpid-broker-j/src/main/assembly/dependency-verification/DEPENDENCIES_REFERENCE
@@ -84,10 +84,10 @@ From: 'FasterXML' (http://fasterxml.com/)
   - Jackson-annotations (https://github.com/FasterXML/jackson) 
com.fasterxml.jackson.core:jackson-annotations:jar:2.20
     License: The Apache Software License, Version 2.0  
(https://www.apache.org/licenses/LICENSE-2.0.txt)
 
-  - Jackson-core (https://github.com/FasterXML/jackson-core) 
com.fasterxml.jackson.core:jackson-core:jar:2.20.0
+  - Jackson-core (https://github.com/FasterXML/jackson-core) 
tools.jackson.core:jackson-core:jar:3.0.3
     License: The Apache Software License, Version 2.0  
(https://www.apache.org/licenses/LICENSE-2.0.txt)
 
-  - jackson-databind (https://github.com/FasterXML/jackson) 
com.fasterxml.jackson.core:jackson-databind:jar:2.20.0
+  - jackson-databind (https://github.com/FasterXML/jackson) 
tools.jackson.core:jackson-databind:jar:3.0.3
     License: The Apache Software License, Version 2.0  
(https://www.apache.org/licenses/LICENSE-2.0.txt)
 
 
diff --git 
a/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacade.java
 
b/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacade.java
index 35e8b3553a..57bb5701cd 100644
--- 
a/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacade.java
+++ 
b/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacade.java
@@ -49,8 +49,6 @@ import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 import java.util.concurrent.atomic.AtomicReference;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
-
 import com.sleepycat.je.CheckpointConfig;
 import com.sleepycat.je.Database;
 import com.sleepycat.je.DatabaseConfig;
@@ -106,6 +104,8 @@ import com.sleepycat.je.utilint.VLSN;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import tools.jackson.databind.ObjectMapper;
+
 import org.apache.qpid.server.configuration.IllegalConfigurationException;
 import org.apache.qpid.server.model.ConfiguredObject;
 import org.apache.qpid.server.model.IllegalStateTransitionException;
diff --git 
a/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/tuple/ConfiguredObjectBinding.java
 
b/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/tuple/ConfiguredObjectBinding.java
index 37ddfbfe27..2d33abbd9e 100644
--- 
a/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/tuple/ConfiguredObjectBinding.java
+++ 
b/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/tuple/ConfiguredObjectBinding.java
@@ -20,16 +20,17 @@
  */
 package org.apache.qpid.server.store.berkeleydb.tuple;
 
-import java.io.IOException;
 import java.io.StringWriter;
 import java.util.Map;
 import java.util.UUID;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
 import com.sleepycat.bind.tuple.TupleBinding;
 import com.sleepycat.bind.tuple.TupleInput;
 import com.sleepycat.bind.tuple.TupleOutput;
 
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.ObjectMapper;
+
 import org.apache.qpid.server.model.ConfiguredObjectJacksonModule;
 import org.apache.qpid.server.store.ConfiguredObjectRecord;
 import org.apache.qpid.server.store.StoreException;
@@ -63,7 +64,7 @@ public class ConfiguredObjectBinding extends 
TupleBinding<ConfiguredObjectRecord
             BDBConfiguredObjectRecord configuredObject = new 
BDBConfiguredObjectRecord(_uuid, type, value);
             return configuredObject;
         }
-        catch (IOException e)
+        catch (JacksonException e)
         {
             //should never happen
             throw new StoreException(e);
@@ -82,7 +83,7 @@ public class ConfiguredObjectBinding extends 
TupleBinding<ConfiguredObjectRecord
             tupleOutput.writeString(object.getType());
             tupleOutput.writeString(writer.toString());
         }
-        catch (IOException e)
+        catch (JacksonException e)
         {
             throw new StoreException(e);
         }
diff --git 
a/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/tuple/MapBinding.java
 
b/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/tuple/MapBinding.java
index 2149a9444d..547302ebeb 100644
--- 
a/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/tuple/MapBinding.java
+++ 
b/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/tuple/MapBinding.java
@@ -19,15 +19,16 @@
 
 package org.apache.qpid.server.store.berkeleydb.tuple;
 
-import java.io.IOException;
 import java.io.StringWriter;
 import java.util.Map;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
 import com.sleepycat.bind.tuple.TupleBinding;
 import com.sleepycat.bind.tuple.TupleInput;
 import com.sleepycat.bind.tuple.TupleOutput;
 
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.ObjectMapper;
+
 import org.apache.qpid.server.model.ConfiguredObjectJacksonModule;
 import org.apache.qpid.server.store.StoreException;
 
@@ -50,7 +51,7 @@ public class MapBinding extends TupleBinding<Map<String, 
Object>>
             Map<String, Object> value = mapper.readValue(json, Map.class);
             return value;
         }
-        catch (IOException e)
+        catch (JacksonException e)
         {
             //should never happen
             throw new StoreException(e);
@@ -67,7 +68,7 @@ public class MapBinding extends TupleBinding<Map<String, 
Object>>
             objectMapper.writeValue(writer, map);
             output.writeString(writer.toString());
         }
-        catch (IOException e)
+        catch (JacksonException e)
         {
             throw new StoreException(e);
         }
diff --git 
a/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/upgrade/MapJsonSerializer.java
 
b/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/upgrade/MapJsonSerializer.java
index e151e1c8fc..57bd19ac55 100644
--- 
a/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/upgrade/MapJsonSerializer.java
+++ 
b/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/upgrade/MapJsonSerializer.java
@@ -24,9 +24,8 @@ import java.io.IOException;
 import java.io.StringWriter;
 import java.util.Map;
 
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
+import tools.jackson.core.type.TypeReference;
+import tools.jackson.databind.ObjectMapper;
 
 public class MapJsonSerializer
 {
@@ -48,9 +47,8 @@ public class MapJsonSerializer
         return stringWriter.toString();
     }
 
-    public Map<String, Object> deserialize(String json) throws IOException
+    public Map<String, Object> deserialize(String json)
     {
-        Map<String, Object> attributesMap = _mapper.readValue(json, 
MAP_TYPE_REFERENCE);
-        return attributesMap;
+        return _mapper.readValue(json, MAP_TYPE_REFERENCE);
     }
 }
diff --git 
a/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/upgrade/UpgradeFrom7To8.java
 
b/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/upgrade/UpgradeFrom7To8.java
index 589adfdc4e..7a1c31396a 100644
--- 
a/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/upgrade/UpgradeFrom7To8.java
+++ 
b/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/upgrade/UpgradeFrom7To8.java
@@ -20,7 +20,6 @@
  */
 package org.apache.qpid.server.store.berkeleydb.upgrade;
 
-import java.io.IOException;
 import java.io.StringWriter;
 import java.nio.charset.StandardCharsets;
 import java.util.HashMap;
@@ -36,8 +35,6 @@ import 
org.apache.qpid.server.store.berkeleydb.tuple.ConfiguredObjectBinding;
 import org.apache.qpid.server.store.berkeleydb.tuple.MessageMetaDataBinding;
 import org.apache.qpid.server.store.berkeleydb.tuple.UUIDTupleBinding;
 
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.ObjectMapper;
 import com.sleepycat.bind.tuple.LongBinding;
 import com.sleepycat.je.Sequence;
 import com.sleepycat.je.SequenceConfig;
@@ -55,6 +52,10 @@ import com.sleepycat.je.LockMode;
 import com.sleepycat.je.OperationStatus;
 import com.sleepycat.je.Transaction;
 
+import tools.jackson.core.JacksonException;
+import tools.jackson.core.type.TypeReference;
+import tools.jackson.databind.ObjectMapper;
+
 public class UpgradeFrom7To8 extends AbstractStoreUpgrade
 {
     private static final TypeReference<HashMap<String, Object>> 
MAP_TYPE_REFERENCE = new TypeReference<>()
@@ -183,7 +184,7 @@ public class UpgradeFrom7To8 extends AbstractStoreUpgrade
                         TupleBinding.outputToEntry(tupleOutput, value);
                         objectsCursor.putCurrent(value);
                     }
-                    catch (IOException e)
+                    catch (JacksonException e)
                     {
                         throw new StoreException(e);
                     }
diff --git 
a/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacadeTest.java
 
b/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacadeTest.java
index ba5de8b46d..1b07a1d26e 100644
--- 
a/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacadeTest.java
+++ 
b/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacadeTest.java
@@ -73,8 +73,6 @@ import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicReference;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
-
 import com.sleepycat.bind.tuple.IntegerBinding;
 import com.sleepycat.bind.tuple.StringBinding;
 import com.sleepycat.je.Database;
@@ -102,6 +100,8 @@ import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import tools.jackson.databind.ObjectMapper;
+
 import org.apache.qpid.server.store.berkeleydb.EnvironmentFacade;
 import org.apache.qpid.server.util.ConnectionScopedRuntimeException;
 import org.apache.qpid.server.util.FileUtils;
diff --git 
a/bdbstore/src/test/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeTestHelper.java
 
b/bdbstore/src/test/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeTestHelper.java
index 8b4f7e25d3..098c3803e3 100644
--- 
a/bdbstore/src/test/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeTestHelper.java
+++ 
b/bdbstore/src/test/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeTestHelper.java
@@ -37,12 +37,14 @@ import java.util.Map;
 import java.util.Set;
 import java.util.UUID;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.SerializationFeature;
 import com.sleepycat.je.rep.ReplicationConfig;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.SerializationFeature;
+import tools.jackson.databind.json.JsonMapper;
+
 import org.apache.qpid.server.configuration.updater.TaskExecutor;
 import org.apache.qpid.server.configuration.updater.TaskExecutorImpl;
 import org.apache.qpid.server.model.Broker;
@@ -321,8 +323,9 @@ public class BDBHAVirtualHostNodeTestHelper
         bluePrint.put(VirtualHost.TYPE, 
BDBHAVirtualHostImpl.VIRTUAL_HOST_TYPE);
 
         StringWriter writer = new StringWriter();
-        ObjectMapper mapper = new ObjectMapper();
-        mapper.configure(SerializationFeature.INDENT_OUTPUT, true);
+        ObjectMapper mapper = JsonMapper.builder()
+                .enable(SerializationFeature.INDENT_OUTPUT)
+                .build();
         mapper.writeValue(writer, bluePrint);
         return writer.toString();
     }
diff --git 
a/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/GroupBrokerAdmin.java
 
b/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/GroupBrokerAdmin.java
index 4dc6c8d6ef..9e4a866e6a 100644
--- 
a/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/GroupBrokerAdmin.java
+++ 
b/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/GroupBrokerAdmin.java
@@ -41,10 +41,11 @@ import java.util.concurrent.TimeoutException;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
 import com.sleepycat.je.rep.ReplicationConfig;
 
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.ObjectMapper;
+
 import org.apache.qpid.server.virtualhostnode.AbstractVirtualHostNode;
 import 
org.apache.qpid.server.virtualhostnode.berkeleydb.BDBHARemoteReplicationNode;
 import org.apache.qpid.server.virtualhostnode.berkeleydb.BDBHAVirtualHostNode;
@@ -470,7 +471,7 @@ public class GroupBrokerAdmin
         {
             return new ObjectMapper().writeValueAsString(object);
         }
-        catch (JsonProcessingException e)
+        catch (JacksonException e)
         {
             throw new BrokerAdminException("Cannot convert object to json", e);
         }
diff --git 
a/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/MultiNodeTest.java
 
b/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/MultiNodeTest.java
index 055a73771f..c6728f3862 100644
--- 
a/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/MultiNodeTest.java
+++ 
b/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/MultiNodeTest.java
@@ -56,7 +56,6 @@ import javax.jms.Session;
 import javax.jms.TextMessage;
 import javax.jms.TransactionRolledBackException;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
 import com.sleepycat.je.Durability;
 import com.sleepycat.je.EnvironmentConfig;
 import com.sleepycat.je.rep.ReplicatedEnvironment;
@@ -65,6 +64,8 @@ import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import tools.jackson.databind.ObjectMapper;
+
 import org.apache.qpid.server.model.Broker;
 import org.apache.qpid.server.model.State;
 import org.apache.qpid.server.util.FileUtils;
diff --git a/broker-core/pom.xml b/broker-core/pom.xml
index cbf72d3269..60712dec11 100644
--- a/broker-core/pom.xml
+++ b/broker-core/pom.xml
@@ -46,12 +46,12 @@
     </dependency>
 
     <dependency>
-      <groupId>com.fasterxml.jackson.core</groupId>
+      <groupId>tools.jackson.core</groupId>
       <artifactId>jackson-core</artifactId>
     </dependency>
 
     <dependency>
-      <groupId>com.fasterxml.jackson.core</groupId>
+      <groupId>tools.jackson.core</groupId>
       <artifactId>jackson-databind</artifactId>
     </dependency>
 
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
 
b/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
index 3916781459..eed0a68e1e 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
@@ -64,17 +64,16 @@ import java.util.stream.Collectors;
 import javax.security.auth.Subject;
 import javax.security.auth.SubjectDomainCombiner;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import tools.jackson.databind.ObjectMapper;
 
 import org.apache.qpid.server.logging.CreateLogMessage;
 import org.apache.qpid.server.logging.DeleteLogMessage;
 import org.apache.qpid.server.logging.LogMessage;
 import org.apache.qpid.server.logging.Outcome;
 import org.apache.qpid.server.logging.UpdateLogMessage;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 import org.apache.qpid.server.configuration.IllegalConfigurationException;
 import org.apache.qpid.server.configuration.updater.Task;
 import org.apache.qpid.server.configuration.updater.TaskExecutor;
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/model/AncestorAttributeResolver.java
 
b/broker-core/src/main/java/org/apache/qpid/server/model/AncestorAttributeResolver.java
index 7703067ef1..2fcf5c85b0 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/model/AncestorAttributeResolver.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/model/AncestorAttributeResolver.java
@@ -20,14 +20,14 @@
 
 package org.apache.qpid.server.model;
 
-import java.io.IOException;
 import java.io.StringWriter;
 import java.util.Collection;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.ObjectMapper;
 
 import org.apache.qpid.server.util.Strings;
 
@@ -112,7 +112,7 @@ public class AncestorAttributeResolver implements 
Strings.Resolver
 
                             returnString = writer.toString();
                         }
-                        catch (IOException e)
+                        catch (JacksonException e)
                         {
                             throw new IllegalArgumentException(e);
                         }
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/model/AttributeValueConverter.java
 
b/broker-core/src/main/java/org/apache/qpid/server/model/AttributeValueConverter.java
index 173d8bc780..34254dee7c 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/model/AttributeValueConverter.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/model/AttributeValueConverter.java
@@ -59,7 +59,8 @@ import java.util.Set;
 import java.util.UUID;
 import java.util.regex.Pattern;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.ObjectMapper;
 
 import org.apache.qpid.server.model.preferences.GenericPrincipal;
 import org.apache.qpid.server.transport.network.security.ssl.SSLUtil;
@@ -619,7 +620,7 @@ abstract class AttributeValueConverter<T>
         {
             return objectMapper.readValue(interpolated, valueType);
         }
-        catch (IOException e)
+        catch (JacksonException e)
         {
             throw new IllegalArgumentException("Cannot convert String '"
                   + value + "'"
@@ -873,7 +874,7 @@ abstract class AttributeValueConverter<T>
                     {
                         return convert(objectMapper.readValue(interpolated, 
List.class), object);
                     }
-                    catch (IOException e)
+                    catch (JacksonException e)
                     {
                         // fall through to the non-JSON single object case
                     }
@@ -924,7 +925,7 @@ abstract class AttributeValueConverter<T>
                     {
                         return convert(objectMapper.readValue(interpolated, 
Set.class), object);
                     }
-                    catch (IOException e)
+                    catch (JacksonException e)
                     {
                         // fall through to the non-JSON single object case
                     }
@@ -976,7 +977,7 @@ abstract class AttributeValueConverter<T>
                     {
                         return convert(objectMapper.readValue(interpolated, 
List.class), object);
                     }
-                    catch (IOException e)
+                    catch (JacksonException e)
                     {
                         // fall through to the non-JSON single object case
                     }
@@ -1029,7 +1030,7 @@ abstract class AttributeValueConverter<T>
                     {
                         return convert(objectMapper.readValue(interpolated, 
Map.class), object);
                     }
-                    catch (IOException e)
+                    catch (JacksonException e)
                     {
                         // fall through to the non-JSON single object case
                     }
@@ -1417,7 +1418,7 @@ abstract class AttributeValueConverter<T>
                 {
                     return convert(objectMapper.readValue(interpolated, 
Map.class), object);
                 }
-                catch (IOException e)
+                catch (JacksonException e)
                 {
                     throw new IllegalArgumentException("Cannot convert type " 
+ value.getClass() + " to a " + _klazz.getName(), e);
                 }
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectJacksonModule.java
 
b/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectJacksonModule.java
index 45b72e870d..df1a54a132 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectJacksonModule.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectJacksonModule.java
@@ -20,19 +20,20 @@
  */
 package org.apache.qpid.server.model;
 
-import java.io.IOException;
 import java.lang.reflect.Method;
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.Set;
 
-import com.fasterxml.jackson.core.JsonGenerator;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.Version;
-import com.fasterxml.jackson.databind.JsonSerializer;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.SerializerProvider;
-import com.fasterxml.jackson.databind.module.SimpleModule;
+import tools.jackson.core.JacksonException;
+import tools.jackson.core.JsonGenerator;
+import tools.jackson.core.Version;
+import tools.jackson.databind.SerializationFeature;
+import tools.jackson.databind.ValueSerializer;
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.SerializationContext;
+import tools.jackson.databind.json.JsonMapper;
+import tools.jackson.databind.module.SimpleModule;
 
 public class ConfiguredObjectJacksonModule extends SimpleModule
 {
@@ -58,13 +59,13 @@ public class ConfiguredObjectJacksonModule extends 
SimpleModule
         for(final ConfiguredObjectCustomSerialization.Converter converter :
                 
ConfiguredObjectCustomSerialization.getConverters(forPersistence))
         {
-            addSerializer(converter.getConversionClass(), new JsonSerializer()
+            addSerializer(converter.getConversionClass(), new 
ValueSerializer<>()
             {
                 @Override
-                public void serialize(final Object value, final JsonGenerator 
gen, final SerializerProvider serializers)
-                        throws IOException, JsonProcessingException
+                public void serialize(final Object value, final JsonGenerator 
gen, final SerializationContext serializers)
+                        throws JacksonException
                 {
-                    gen.writeObject(converter.convert(value));
+                    gen.writePOJO(converter.convert(value));
                 }
             });
         }
@@ -73,9 +74,16 @@ public class ConfiguredObjectJacksonModule extends 
SimpleModule
 
     public static ObjectMapper newObjectMapper(final boolean forPersistence)
     {
-        final ObjectMapper objectMapper = new ObjectMapper();
-        objectMapper.registerModule(forPersistence ? PERSISTENCE_INSTANCE : 
INSTANCE);
-        return objectMapper;
+        return JsonMapper.builder()
+                .addModule(forPersistence ? PERSISTENCE_INSTANCE : INSTANCE)
+                .build();
     }
 
+    public static ObjectMapper newObjectMapper(final boolean forPersistence, 
final SerializationFeature serializationFeature)
+    {
+        return JsonMapper.builder()
+                .addModule(forPersistence ? PERSISTENCE_INSTANCE : INSTANCE)
+                .enable(serializationFeature)
+                .build();
+    }
 }
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectTypeRegistry.java
 
b/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectTypeRegistry.java
index f317a22da1..c086cc86ec 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectTypeRegistry.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectTypeRegistry.java
@@ -48,10 +48,11 @@ import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 import java.util.function.Predicate;
 
-import com.fasterxml.jackson.core.JsonProcessingException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import tools.jackson.core.JacksonException;
+
 import org.apache.qpid.server.plugin.ConfiguredObjectAttributeInjector;
 import org.apache.qpid.server.plugin.ConfiguredObjectRegistration;
 import org.apache.qpid.server.plugin.ConfiguredObjectTypeFactory;
@@ -1008,7 +1009,7 @@ public class ConfiguredObjectTypeRegistry
                             {
                                 stringValue = 
ConfiguredObjectJacksonModule.newObjectMapper(false).writeValueAsString(value);
                             }
-                            catch (JsonProcessingException e)
+                            catch (JacksonException e)
                             {
                                 throw new ServerScopedRuntimeException("Unable 
to convert value of type '"
                                                                        + 
value.getClass()
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/model/OwnAttributeResolver.java
 
b/broker-core/src/main/java/org/apache/qpid/server/model/OwnAttributeResolver.java
index cd782698ac..df3e111038 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/model/OwnAttributeResolver.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/model/OwnAttributeResolver.java
@@ -20,14 +20,14 @@
 
 package org.apache.qpid.server.model;
 
-import java.io.IOException;
 import java.io.StringWriter;
 import java.util.Collection;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.ObjectMapper;
 
 import org.apache.qpid.server.util.Strings;
 
@@ -87,7 +87,7 @@ public class OwnAttributeResolver implements Strings.Resolver
 
                             returnString = writer.toString();
                         }
-                        catch (IOException e)
+                        catch (JacksonException e)
                         {
                             throw new IllegalArgumentException(e);
                         }
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/model/port/AmqpPortImpl.java 
b/broker-core/src/main/java/org/apache/qpid/server/model/port/AmqpPortImpl.java
index c519800049..4a5238dbfa 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/model/port/AmqpPortImpl.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/model/port/AmqpPortImpl.java
@@ -39,10 +39,12 @@ import javax.net.ssl.SSLContext;
 import javax.net.ssl.SSLSessionContext;
 import javax.security.auth.Subject;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.json.JsonMapper;
+
 import org.apache.qpid.server.configuration.IllegalConfigurationException;
 import org.apache.qpid.server.logging.messages.BrokerMessages;
 import org.apache.qpid.server.logging.messages.PortMessages;
@@ -474,7 +476,7 @@ public class AmqpPortImpl extends 
AbstractPort<AmqpPortImpl> implements AmqpPort
             last = current;
         }
         Set<String> combinationsAsString = new 
HashSet<>(protocolCombinations.size());
-        ObjectMapper mapper = new ObjectMapper();
+        ObjectMapper mapper = JsonMapper.builder().build();
         for(Set<String> combination : protocolCombinations)
         {
             try(StringWriter writer = new StringWriter())
@@ -501,7 +503,7 @@ public class AmqpPortImpl extends 
AbstractPort<AmqpPortImpl> implements AmqpPort
         }
 
         Set<String> combinationsAsString = new HashSet<>(combinations.size());
-        ObjectMapper mapper = new ObjectMapper();
+        ObjectMapper mapper = JsonMapper.builder().build();
         for(Set<Transport> combination : combinations)
         {
             try(StringWriter writer = new StringWriter())
@@ -521,7 +523,7 @@ public class AmqpPortImpl extends 
AbstractPort<AmqpPortImpl> implements AmqpPort
     public static String getInstalledProtocolsAsString()
     {
         Set<Protocol> installedProtocols = getInstalledProtocols();
-        ObjectMapper mapper = new ObjectMapper();
+        ObjectMapper mapper = JsonMapper.builder().build();
 
         try(StringWriter output = new StringWriter())
         {
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/queue/MessageContentJsonConverter.java
 
b/broker-core/src/main/java/org/apache/qpid/server/queue/MessageContentJsonConverter.java
index a49d44b2c5..ffe248af16 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/queue/MessageContentJsonConverter.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/queue/MessageContentJsonConverter.java
@@ -30,12 +30,13 @@ import java.util.List;
 import java.util.Map;
 import java.util.UUID;
 
-import com.fasterxml.jackson.core.JsonGenerator;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.SerializerProvider;
-import com.fasterxml.jackson.databind.module.SimpleModule;
-import com.fasterxml.jackson.databind.ser.std.StdArraySerializers;
-import com.fasterxml.jackson.databind.ser.std.StdSerializer;
+import tools.jackson.core.JsonGenerator;
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.SerializationContext;
+import tools.jackson.databind.json.JsonMapper;
+import tools.jackson.databind.module.SimpleModule;
+import tools.jackson.databind.ser.jdk.JDKArraySerializers;
+import tools.jackson.databind.ser.std.StdSerializer;
 
 class MessageContentJsonConverter
 {
@@ -50,10 +51,9 @@ class MessageContentJsonConverter
     MessageContentJsonConverter(Object messageBody, long limit)
     {
         _messageBody = messageBody;
-        _objectMapper = new ObjectMapper();
-        SimpleModule module = new SimpleModule();
-        module.addSerializer(new NoneBase64ByteArraySerializer());
-        _objectMapper.registerModule(module);
+        _objectMapper = JsonMapper.builder()
+                .addModule(new SimpleModule().addSerializer(new 
NoneBase64ByteArraySerializer()))
+                .build();
         _remaining = limit;
     }
 
@@ -190,7 +190,7 @@ class MessageContentJsonConverter
 
     private static class NoneBase64ByteArraySerializer extends 
StdSerializer<byte[]>
     {
-        final StdArraySerializers.IntArraySerializer _underlying = new 
StdArraySerializers.IntArraySerializer();
+        final JDKArraySerializers.IntArraySerializer _underlying = new 
JDKArraySerializers.IntArraySerializer();
 
         public NoneBase64ByteArraySerializer()
         {
@@ -198,8 +198,7 @@ class MessageContentJsonConverter
         }
 
         @Override
-        public void serialize(final byte[] value, final JsonGenerator jgen, 
final SerializerProvider provider)
-                throws IOException
+        public void serialize(final byte[] value, final JsonGenerator jgen, 
final SerializationContext provider)
         {
             final int[] intArray = new int[value.length];
             for (int i = 0; i < value.length; i++)
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/OAuth2AuthenticationProviderImpl.java
 
b/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/OAuth2AuthenticationProviderImpl.java
index 094dbd8528..f21c8b35f7 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/OAuth2AuthenticationProviderImpl.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/OAuth2AuthenticationProviderImpl.java
@@ -40,11 +40,13 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.json.JsonMapper;
+
 import org.apache.qpid.server.configuration.CommonProperties;
 import org.apache.qpid.server.configuration.IllegalConfigurationException;
 import org.apache.qpid.server.model.ConfiguredObject;
@@ -72,7 +74,7 @@ public class OAuth2AuthenticationProviderImpl
 
     private static final Logger LOGGER = 
LoggerFactory.getLogger(OAuth2AuthenticationProviderImpl.class);
 
-    private final ObjectMapper _objectMapper = new ObjectMapper();
+    private final ObjectMapper _objectMapper = JsonMapper.builder().build();
 
     @ManagedAttributeField
     private URI _authorizationEndpointURI;
@@ -326,7 +328,7 @@ public class OAuth2AuthenticationProviderImpl
 
                 return authenticateViaAccessToken(accessToken, addressSpace);
             }
-            catch (JsonProcessingException e)
+            catch (JacksonException e)
             {
                 IllegalStateException ise = new 
IllegalStateException(String.format("Token endpoint '%s' did not return json",
                                                                                
     tokenEndpoint), e);
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/cloudfoundry/CloudFoundryOAuth2IdentityResolverService.java
 
b/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/cloudfoundry/CloudFoundryOAuth2IdentityResolverService.java
index d64c93c9d2..4ea9a69c3d 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/cloudfoundry/CloudFoundryOAuth2IdentityResolverService.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/cloudfoundry/CloudFoundryOAuth2IdentityResolverService.java
@@ -34,11 +34,13 @@ import java.util.Base64;
 import java.util.Collections;
 import java.util.Map;
 
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.json.JsonMapper;
+
 import org.apache.qpid.server.configuration.IllegalConfigurationException;
 import org.apache.qpid.server.model.NamedAddressSpace;
 import org.apache.qpid.server.model.TrustStore;
@@ -58,7 +60,7 @@ public class CloudFoundryOAuth2IdentityResolverService 
implements OAuth2Identity
 
     public static final String TYPE = "CloudFoundryIdentityResolver";
 
-    private final ObjectMapper _objectMapper = new ObjectMapper();
+    private final ObjectMapper _objectMapper = JsonMapper.builder().build();
 
     @Override
     public String getType()
@@ -129,7 +131,7 @@ public class CloudFoundryOAuth2IdentityResolverService 
implements OAuth2Identity
                 {
                     responseMap = _objectMapper.readValue(input, Map.class);
                 }
-                catch (JsonProcessingException e)
+                catch (JacksonException e)
                 {
                     throw new IOException(String.format("Identity resolver 
'%s' did not return json", checkTokenEndpoint), e);
                 }
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/facebook/FacebookIdentityResolverService.java
 
b/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/facebook/FacebookIdentityResolverService.java
index 11f1aea4db..57e87fef93 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/facebook/FacebookIdentityResolverService.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/facebook/FacebookIdentityResolverService.java
@@ -32,11 +32,13 @@ import java.security.GeneralSecurityException;
 import java.security.Principal;
 import java.util.Map;
 
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.json.JsonMapper;
+
 import org.apache.qpid.server.configuration.IllegalConfigurationException;
 import org.apache.qpid.server.model.NamedAddressSpace;
 import org.apache.qpid.server.model.TrustStore;
@@ -63,7 +65,7 @@ public class FacebookIdentityResolverService implements 
OAuth2IdentityResolverSe
 
     public static final String TYPE = "Facebook";
 
-    private final ObjectMapper _objectMapper = new ObjectMapper();
+    private final ObjectMapper _objectMapper = JsonMapper.builder().build();
 
     @Override
     public String getType()
@@ -123,7 +125,7 @@ public class FacebookIdentityResolverService implements 
OAuth2IdentityResolverSe
             {
                 responseMap = _objectMapper.readValue(input, Map.class);
             }
-            catch (JsonProcessingException e)
+            catch (JacksonException e)
             {
                 throw new IOException(String.format("Identity resolver '%s' 
did not return json",
                                                     userInfoEndpoint), e);
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/github/GitHubOAuth2IdentityResolverService.java
 
b/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/github/GitHubOAuth2IdentityResolverService.java
index acc86eab0a..9ad95bc9e8 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/github/GitHubOAuth2IdentityResolverService.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/github/GitHubOAuth2IdentityResolverService.java
@@ -33,11 +33,13 @@ import java.security.Principal;
 import java.util.Map;
 import java.util.stream.Stream;
 
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.json.JsonMapper;
+
 import org.apache.qpid.server.configuration.IllegalConfigurationException;
 import org.apache.qpid.server.model.NamedAddressSpace;
 import org.apache.qpid.server.model.TrustStore;
@@ -64,7 +66,7 @@ public class GitHubOAuth2IdentityResolverService implements 
OAuth2IdentityResolv
 
     public static final String TYPE = "GitHubUser";
 
-    private final ObjectMapper _objectMapper = new ObjectMapper();
+    private final ObjectMapper _objectMapper = JsonMapper.builder().build();
 
     @Override
     public String getType()
@@ -129,7 +131,7 @@ public class GitHubOAuth2IdentityResolverService implements 
OAuth2IdentityResolv
             {
                 responseMap = _objectMapper.readValue(input, Map.class);
             }
-            catch (JsonProcessingException e)
+            catch (JacksonException e)
             {
                 throw new IOException(String.format("Identity resolver '%s' 
did not return json",
                                                     userInfoEndpoint), e);
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/google/GoogleOAuth2IdentityResolverService.java
 
b/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/google/GoogleOAuth2IdentityResolverService.java
index c76fa33644..20b55e0525 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/google/GoogleOAuth2IdentityResolverService.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/google/GoogleOAuth2IdentityResolverService.java
@@ -33,11 +33,13 @@ import java.security.Principal;
 import java.util.Map;
 import java.util.stream.Stream;
 
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.json.JsonMapper;
+
 import org.apache.qpid.server.configuration.IllegalConfigurationException;
 import org.apache.qpid.server.model.NamedAddressSpace;
 import org.apache.qpid.server.model.TrustStore;
@@ -68,7 +70,7 @@ public class GoogleOAuth2IdentityResolverService implements 
OAuth2IdentityResolv
 
     public static final String TYPE = "GoogleUserInfo";
 
-    private final ObjectMapper _objectMapper = new ObjectMapper();
+    private final ObjectMapper _objectMapper = JsonMapper.builder().build();
 
     @Override
     public String getType()
@@ -133,7 +135,7 @@ public class GoogleOAuth2IdentityResolverService implements 
OAuth2IdentityResolv
             {
                 responseMap = _objectMapper.readValue(input, Map.class);
             }
-            catch (JsonProcessingException e)
+            catch (JacksonException e)
             {
                 throw new IOException(String.format("Identity resolver '%s' 
did not return json",
                                                     userInfoEndpoint), e);
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/keycloak/KeycloakOAuth2IdentityResolverService.java
 
b/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/keycloak/KeycloakOAuth2IdentityResolverService.java
index b662782edd..e7f12eeb02 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/keycloak/KeycloakOAuth2IdentityResolverService.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/keycloak/KeycloakOAuth2IdentityResolverService.java
@@ -33,11 +33,13 @@ import java.security.Principal;
 import java.util.Map;
 import java.util.stream.Stream;
 
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.json.JsonMapper;
+
 import org.apache.qpid.server.configuration.IllegalConfigurationException;
 import org.apache.qpid.server.model.NamedAddressSpace;
 import org.apache.qpid.server.model.TrustStore;
@@ -68,7 +70,7 @@ public class KeycloakOAuth2IdentityResolverService implements 
OAuth2IdentityReso
 
     public static final String TYPE = "KeycloakOpenID";
 
-    private final ObjectMapper _objectMapper = new ObjectMapper();
+    private final ObjectMapper _objectMapper = JsonMapper.builder().build();
 
     @Override
     public String getType()
@@ -133,7 +135,7 @@ public class KeycloakOAuth2IdentityResolverService 
implements OAuth2IdentityReso
             {
                 responseMap = _objectMapper.readValue(input, Map.class);
             }
-            catch (JsonProcessingException e)
+            catch (JacksonException e)
             {
                 throw new IOException(String.format("Identity resolver '%s' 
did not return json",
                                                     userInfoEndpoint), e);
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/microsoftlive/MicrosoftLiveOAuth2IdentityResolverService.java
 
b/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/microsoftlive/MicrosoftLiveOAuth2IdentityResolverService.java
index 93a794075f..4cd4d8b703 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/microsoftlive/MicrosoftLiveOAuth2IdentityResolverService.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/oauth2/microsoftlive/MicrosoftLiveOAuth2IdentityResolverService.java
@@ -32,11 +32,13 @@ import java.security.GeneralSecurityException;
 import java.security.Principal;
 import java.util.Map;
 
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.json.JsonMapper;
+
 import org.apache.qpid.server.configuration.IllegalConfigurationException;
 import org.apache.qpid.server.model.NamedAddressSpace;
 import org.apache.qpid.server.model.TrustStore;
@@ -61,7 +63,7 @@ public class MicrosoftLiveOAuth2IdentityResolverService 
implements OAuth2Identit
 
     public static final String TYPE = "MicrosoftLive";
 
-    private final ObjectMapper _objectMapper = new ObjectMapper();
+    private final ObjectMapper _objectMapper = JsonMapper.builder().build();
 
     @Override
     public String getType()
@@ -121,7 +123,7 @@ public class MicrosoftLiveOAuth2IdentityResolverService 
implements OAuth2Identit
             {
                 responseMap = _objectMapper.readValue(input, Map.class);
             }
-            catch (JsonProcessingException e)
+            catch (JacksonException e)
             {
                 throw new IOException(String.format("Identity resolver '%s' 
did not return json",
                                                     userInfoEndpoint), e);
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/security/group/cloudfoundry/CloudFoundryDashboardManagementGroupProviderImpl.java
 
b/broker-core/src/main/java/org/apache/qpid/server/security/group/cloudfoundry/CloudFoundryDashboardManagementGroupProviderImpl.java
index f4cc866c92..ac9230c158 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/security/group/cloudfoundry/CloudFoundryDashboardManagementGroupProviderImpl.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/security/group/cloudfoundry/CloudFoundryDashboardManagementGroupProviderImpl.java
@@ -42,12 +42,13 @@ import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.CompletableFuture;
 
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.json.JsonMapper;
+
 import org.apache.qpid.server.configuration.IllegalConfigurationException;
 import org.apache.qpid.server.model.AbstractConfiguredObject;
 import org.apache.qpid.server.model.ConfiguredObject;
@@ -76,7 +77,7 @@ public class CloudFoundryDashboardManagementGroupProviderImpl 
extends AbstractCo
     private static final Logger LOGGER = 
LoggerFactory.getLogger(CloudFoundryDashboardManagementGroupProviderImpl.class);
     private static final String UTF8 = StandardCharsets.UTF_8.name();
 
-    private final ObjectMapper _objectMapper = new ObjectMapper();
+    private final ObjectMapper _objectMapper = JsonMapper.builder().build();
 
     @ManagedAttributeField
     private URI _cloudFoundryEndpointURI;
@@ -245,7 +246,7 @@ public class 
CloudFoundryDashboardManagementGroupProviderImpl extends AbstractCo
             }
             return (boolean) mayManageObject;
         }
-        catch (JsonProcessingException e)
+        catch (JacksonException e)
         {
             throw new 
ExternalServiceException(String.format("CloudFoundryDashboardManagementEndpoint 
'%s' did not return json.",
                                                                      
cloudFoundryEndpoint), e);
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/store/AbstractJsonFileStore.java
 
b/broker-core/src/main/java/org/apache/qpid/server/store/AbstractJsonFileStore.java
index e1a047b472..c871c1e478 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/store/AbstractJsonFileStore.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/store/AbstractJsonFileStore.java
@@ -28,10 +28,11 @@ import java.nio.channels.OverlappingFileLockException;
 import java.nio.file.Files;
 import java.nio.file.Path;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import tools.jackson.databind.ObjectMapper;
+
 import org.apache.qpid.server.util.FileHelper;
 import org.apache.qpid.server.util.FileUtils;
 
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/store/ConfiguredObjectRecordConverter.java
 
b/broker-core/src/main/java/org/apache/qpid/server/store/ConfiguredObjectRecordConverter.java
index d06acb1b92..88b802a71c 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/store/ConfiguredObjectRecordConverter.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/store/ConfiguredObjectRecordConverter.java
@@ -30,8 +30,9 @@ import java.util.List;
 import java.util.Map;
 import java.util.UUID;
 
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.core.json.JsonReadFeature;
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.json.JsonMapper;
 
 import org.apache.qpid.server.configuration.IllegalConfigurationException;
 import org.apache.qpid.server.model.ConfiguredObject;
@@ -71,8 +72,9 @@ public class ConfiguredObjectRecordConverter
     {
         Map<UUID, ConfiguredObjectRecord> objectsById = new HashMap<>();
 
-        ObjectMapper objectMapper = new ObjectMapper();
-        objectMapper.configure(JsonParser.Feature.ALLOW_COMMENTS, true);
+        ObjectMapper objectMapper = JsonMapper.builder()
+                .enable(JsonReadFeature.ALLOW_JAVA_COMMENTS)
+                .build();
         Map data = objectMapper.readValue(reader, Map.class);
         if(!data.isEmpty())
         {
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/store/JsonFileConfigStore.java
 
b/broker-core/src/main/java/org/apache/qpid/server/store/JsonFileConfigStore.java
index aff3f20b65..76409a90f1 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/store/JsonFileConfigStore.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/store/JsonFileConfigStore.java
@@ -37,11 +37,12 @@ import java.util.TreeMap;
 import java.util.TreeSet;
 import java.util.UUID;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.SerializationFeature;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.SerializationFeature;
+
 import org.apache.qpid.server.model.ConfiguredObject;
 import org.apache.qpid.server.model.ConfiguredObjectJacksonModule;
 import org.apache.qpid.server.model.ContainerType;
@@ -79,7 +80,7 @@ public class JsonFileConfigStore extends 
AbstractJsonFileStore implements Durabl
     public JsonFileConfigStore(Class<? extends ConfiguredObject> rootClass)
     {
         super();
-        _objectMapper = 
ConfiguredObjectJacksonModule.newObjectMapper(true).enable(SerializationFeature.INDENT_OUTPUT);
+        _objectMapper = ConfiguredObjectJacksonModule.newObjectMapper(true, 
SerializationFeature.INDENT_OUTPUT);
         _rootClass = rootClass;
     }
 
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/store/preferences/JsonFilePreferenceStore.java
 
b/broker-core/src/main/java/org/apache/qpid/server/store/preferences/JsonFilePreferenceStore.java
index 0fcf2355fb..a6a2774e06 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/store/preferences/JsonFilePreferenceStore.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/store/preferences/JsonFilePreferenceStore.java
@@ -19,7 +19,6 @@
 
 package org.apache.qpid.server.store.preferences;
 
-import java.io.IOException;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
@@ -27,8 +26,9 @@ import java.util.LinkedHashMap;
 import java.util.Map;
 import java.util.UUID;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.SerializationFeature;
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.SerializationFeature;
 
 import org.apache.qpid.server.model.BrokerModel;
 import org.apache.qpid.server.model.ConfiguredObjectJacksonModule;
@@ -50,7 +50,7 @@ public class JsonFilePreferenceStore extends 
AbstractJsonFileStore implements Pr
         super();
         _storePath = path;
         _posixFilePermissions = posixFilePermissions;
-        _objectMapper = 
ConfiguredObjectJacksonModule.newObjectMapper(true).enable(SerializationFeature.INDENT_OUTPUT);
+        _objectMapper = ConfiguredObjectJacksonModule.newObjectMapper(true, 
SerializationFeature.INDENT_OUTPUT);
         _recordMap = new LinkedHashMap<>();
     }
 
@@ -74,7 +74,7 @@ public class JsonFilePreferenceStore extends 
AbstractJsonFileStore implements Pr
             {
                 storeContent = _objectMapper.readValue(getConfigFile(), 
StoreContent.class);
             }
-            catch (IOException e)
+            catch (JacksonException e)
             {
                 throw new StoreException("Failed to read preferences from 
store", e);
             }
diff --git 
a/broker-core/src/test/java/org/apache/qpid/server/SystemLauncherTest.java 
b/broker-core/src/test/java/org/apache/qpid/server/SystemLauncherTest.java
index b0b4b10838..38b4a069a6 100644
--- a/broker-core/src/test/java/org/apache/qpid/server/SystemLauncherTest.java
+++ b/broker-core/src/test/java/org/apache/qpid/server/SystemLauncherTest.java
@@ -29,12 +29,12 @@ import java.io.File;
 import java.io.PrintStream;
 import java.util.Map;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
-
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
+import tools.jackson.databind.ObjectMapper;
+
 import org.apache.qpid.server.logging.messages.BrokerMessages;
 import org.apache.qpid.server.model.BrokerModel;
 import org.apache.qpid.server.model.ConfiguredObject;
diff --git 
a/broker-core/src/test/java/org/apache/qpid/server/model/ConfiguredObjectJacksonModuleTest.java
 
b/broker-core/src/test/java/org/apache/qpid/server/model/ConfiguredObjectJacksonModuleTest.java
index 1100616a4c..1de21923b2 100644
--- 
a/broker-core/src/test/java/org/apache/qpid/server/model/ConfiguredObjectJacksonModuleTest.java
+++ 
b/broker-core/src/test/java/org/apache/qpid/server/model/ConfiguredObjectJacksonModuleTest.java
@@ -31,10 +31,10 @@ import java.nio.charset.StandardCharsets;
 import java.security.Principal;
 import java.util.Map;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
-
 import org.junit.jupiter.api.Test;
 
+import tools.jackson.databind.ObjectMapper;
+
 import org.apache.qpid.server.security.auth.UsernamePrincipal;
 import org.apache.qpid.test.utils.UnitTestBase;
 
diff --git 
a/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/AncestorAttributeResolverTest.java
 
b/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/AncestorAttributeResolverTest.java
index dd4abdfd43..a273a7c319 100644
--- 
a/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/AncestorAttributeResolverTest.java
+++ 
b/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/AncestorAttributeResolverTest.java
@@ -26,11 +26,11 @@ import static org.junit.jupiter.api.Assertions.assertNull;
 import java.util.HashMap;
 import java.util.Map;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
-
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
+import tools.jackson.databind.ObjectMapper;
+
 import org.apache.qpid.server.model.AncestorAttributeResolver;
 import org.apache.qpid.server.model.ConfiguredObject;
 import org.apache.qpid.server.model.Model;
diff --git 
a/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/oauth2/OAuth2MockEndpointHolder.java
 
b/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/oauth2/OAuth2MockEndpointHolder.java
index 6a3a449343..934b749a28 100644
--- 
a/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/oauth2/OAuth2MockEndpointHolder.java
+++ 
b/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/oauth2/OAuth2MockEndpointHolder.java
@@ -34,9 +34,6 @@ import jakarta.servlet.http.HttpServlet;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
 
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
 import org.eclipse.jetty.ee11.servlet.ServletContextHandler;
 import org.eclipse.jetty.server.HttpConfiguration;
 import org.eclipse.jetty.server.HttpConnectionFactory;
@@ -46,6 +43,10 @@ import org.eclipse.jetty.server.ServerConnector;
 import org.eclipse.jetty.util.resource.ResourceFactory;
 import org.eclipse.jetty.util.ssl.SslContextFactory;
 
+import tools.jackson.core.JacksonException;
+import tools.jackson.core.type.TypeReference;
+import tools.jackson.databind.ObjectMapper;
+
 import org.apache.qpid.server.configuration.CommonProperties;
 import org.apache.qpid.server.transport.network.security.ssl.SSLUtil;
 
@@ -178,7 +179,7 @@ class OAuth2MockEndpointHolder
             {
                 listOfStrings = new 
ObjectMapper().readValue(listAsString.getBytes(UTF_8), new TypeReference<>() { 
});
             }
-            catch (IOException e)
+            catch (JacksonException e)
             {
                 listOfStrings = Arrays.asList(listAsString.split("\\s*,\\s*"));
             }
diff --git 
a/broker-core/src/test/java/org/apache/qpid/server/security/encryption/AESGCMKeyFileEncrypterTest.java
 
b/broker-core/src/test/java/org/apache/qpid/server/security/encryption/AESGCMKeyFileEncrypterTest.java
index 4666d3c11a..9163bdb8e7 100644
--- 
a/broker-core/src/test/java/org/apache/qpid/server/security/encryption/AESGCMKeyFileEncrypterTest.java
+++ 
b/broker-core/src/test/java/org/apache/qpid/server/security/encryption/AESGCMKeyFileEncrypterTest.java
@@ -47,13 +47,13 @@ import javax.crypto.SecretKeyFactory;
 import javax.crypto.spec.PBEKeySpec;
 import javax.crypto.spec.SecretKeySpec;
 
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
+import tools.jackson.core.type.TypeReference;
+import tools.jackson.databind.ObjectMapper;
+
 import org.apache.qpid.server.SystemLauncher;
 import org.apache.qpid.server.SystemLauncherListener;
 import org.apache.qpid.server.model.AuthenticationProvider;
diff --git 
a/broker-core/src/test/java/org/apache/qpid/server/store/preferences/JsonFilePreferenceStoreTest.java
 
b/broker-core/src/test/java/org/apache/qpid/server/store/preferences/JsonFilePreferenceStoreTest.java
index cc596e54ad..7f8cdad76a 100644
--- 
a/broker-core/src/test/java/org/apache/qpid/server/store/preferences/JsonFilePreferenceStoreTest.java
+++ 
b/broker-core/src/test/java/org/apache/qpid/server/store/preferences/JsonFilePreferenceStoreTest.java
@@ -38,13 +38,13 @@ import java.util.Map;
 import java.util.Set;
 import java.util.UUID;
 
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
+import tools.jackson.core.type.TypeReference;
+import tools.jackson.databind.ObjectMapper;
+
 import org.apache.qpid.server.model.BrokerModel;
 import org.apache.qpid.server.model.SystemConfig;
 import org.apache.qpid.server.util.FileUtils;
diff --git 
a/broker-core/src/test/java/org/apache/qpid/server/transport/SNITest.java 
b/broker-core/src/test/java/org/apache/qpid/server/transport/SNITest.java
index d3ce9a127d..e66884a961 100644
--- a/broker-core/src/test/java/org/apache/qpid/server/transport/SNITest.java
+++ b/broker-core/src/test/java/org/apache/qpid/server/transport/SNITest.java
@@ -43,14 +43,14 @@ import javax.net.ssl.SSLSocketFactory;
 import javax.net.ssl.TrustManager;
 import javax.net.ssl.X509TrustManager;
 
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
 import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.RegisterExtension;
 
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.ObjectMapper;
+
 import org.apache.qpid.server.SystemLauncher;
 import 
org.apache.qpid.server.SystemLauncherListener.DefaultSystemLauncherListener;
 import org.apache.qpid.server.model.AuthenticationProvider;
@@ -252,7 +252,7 @@ public class SNITest extends UnitTestBase
         _boundPort = port.getBoundPort();
     }
 
-    private File createInitialContext() throws JsonProcessingException
+    private File createInitialContext() throws JacksonException
     {
         // create empty initial configuration
         final Map<String,Object> initialConfig = Map.of(ConfiguredObject.NAME, 
"test",
diff --git 
a/broker-core/src/test/java/org/apache/qpid/server/transport/TCPandSSLTransportTest.java
 
b/broker-core/src/test/java/org/apache/qpid/server/transport/TCPandSSLTransportTest.java
index 435607210a..ef34a93813 100644
--- 
a/broker-core/src/test/java/org/apache/qpid/server/transport/TCPandSSLTransportTest.java
+++ 
b/broker-core/src/test/java/org/apache/qpid/server/transport/TCPandSSLTransportTest.java
@@ -44,14 +44,15 @@ import javax.net.ssl.SSLHandshakeException;
 import javax.net.ssl.SSLSocket;
 import javax.net.ssl.TrustManagerFactory;
 
-import com.fasterxml.jackson.databind.JavaType;
-import com.fasterxml.jackson.databind.ObjectMapper;
 import org.junit.jupiter.api.Test;
-
 import org.junit.jupiter.api.condition.EnabledForJreRange;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import tools.jackson.databind.JavaType;
+import tools.jackson.databind.ObjectMapper;
+
 import org.apache.qpid.server.logging.EventLogger;
 import org.apache.qpid.server.model.Broker;
 import org.apache.qpid.server.model.Protocol;
diff --git 
a/broker-plugins/amqp-1-0-protocol/src/test/java/org/apache/qpid/server/protocol/v1_0/LinkRegistryTest.java
 
b/broker-plugins/amqp-1-0-protocol/src/test/java/org/apache/qpid/server/protocol/v1_0/LinkRegistryTest.java
index c030cb8404..f4145794a2 100644
--- 
a/broker-plugins/amqp-1-0-protocol/src/test/java/org/apache/qpid/server/protocol/v1_0/LinkRegistryTest.java
+++ 
b/broker-plugins/amqp-1-0-protocol/src/test/java/org/apache/qpid/server/protocol/v1_0/LinkRegistryTest.java
@@ -27,12 +27,12 @@ import static org.mockito.Mockito.mock;
 import java.util.Map;
 import java.util.regex.Pattern;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
-
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
+import tools.jackson.databind.ObjectMapper;
+
 import org.apache.qpid.server.protocol.LinkModel;
 import org.apache.qpid.server.virtualhost.QueueManagingVirtualHost;
 import org.apache.qpid.test.utils.UnitTestBase;
diff --git 
a/broker-plugins/derby-store/src/test/java/org/apache/qpid/server/store/derby/DerbyPreferenceStoreTest.java
 
b/broker-plugins/derby-store/src/test/java/org/apache/qpid/server/store/derby/DerbyPreferenceStoreTest.java
index e5aa73fd41..71854fa6c1 100644
--- 
a/broker-plugins/derby-store/src/test/java/org/apache/qpid/server/store/derby/DerbyPreferenceStoreTest.java
+++ 
b/broker-plugins/derby-store/src/test/java/org/apache/qpid/server/store/derby/DerbyPreferenceStoreTest.java
@@ -43,8 +43,6 @@ import java.util.Map;
 import java.util.Objects;
 import java.util.UUID;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
-
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
@@ -52,6 +50,8 @@ import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import tools.jackson.databind.ObjectMapper;
+
 import org.apache.qpid.server.model.BrokerModel;
 import org.apache.qpid.server.model.ConfiguredObject;
 import org.apache.qpid.server.model.ModelVersion;
diff --git 
a/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/AbstractJDBCConfigurationStore.java
 
b/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/AbstractJDBCConfigurationStore.java
index eb3edd8c84..bb32d47884 100644
--- 
a/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/AbstractJDBCConfigurationStore.java
+++ 
b/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/AbstractJDBCConfigurationStore.java
@@ -43,9 +43,11 @@ import java.util.Set;
 import java.util.UUID;
 import java.util.concurrent.ConcurrentHashMap;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
 import org.slf4j.Logger;
 
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.ObjectMapper;
+
 import org.apache.qpid.server.model.ConfiguredObject;
 import org.apache.qpid.server.model.ConfiguredObjectJacksonModule;
 import org.apache.qpid.server.model.UUIDGenerator;
@@ -197,7 +199,7 @@ public abstract class AbstractJDBCConfigurationStore 
implements MessageStoreProv
 
                     }
                 }
-                catch (IOException e)
+                catch (JacksonException e)
                 {
                     throw new StoreException("Error recovering persistent 
state: " + e.getMessage(), e);
                 }
@@ -480,7 +482,7 @@ public abstract class AbstractJDBCConfigurationStore 
implements MessageStoreProv
                         }
                     }
                 }
-                catch (IOException e)
+                catch (JacksonException e)
                 {
                     throw new StoreException("Error recovering persistent 
state: " + e.getMessage(), e);
                 }
@@ -546,7 +548,7 @@ public abstract class AbstractJDBCConfigurationStore 
implements MessageStoreProv
                     stmt.execute();
                 }
             }
-            catch (IOException e)
+            catch (JacksonException e)
             {
                 throw new StoreException("Error recovering persistent state: " 
+ e.getMessage(), e);
             }
@@ -829,7 +831,7 @@ public abstract class AbstractJDBCConfigurationStore 
implements MessageStoreProv
             }
 
         }
-        catch (IOException | SQLException e)
+        catch (JacksonException | SQLException e)
         {
             throw new StoreException("Error inserting of configured object " + 
configuredObject + " into database: " + e.getMessage(), e);
         }
@@ -980,7 +982,7 @@ public abstract class AbstractJDBCConfigurationStore 
implements MessageStoreProv
                 }
             }
         }
-        catch (IOException e)
+        catch (JacksonException e)
         {
             throw new StoreException("Error updating configured object "
                                      + configuredObject
diff --git 
a/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/AbstractJDBCPreferenceStore.java
 
b/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/AbstractJDBCPreferenceStore.java
index cd452e06d6..94a57d8726 100644
--- 
a/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/AbstractJDBCPreferenceStore.java
+++ 
b/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/AbstractJDBCPreferenceStore.java
@@ -22,7 +22,6 @@ package org.apache.qpid.server.store.jdbc;
 import static org.apache.qpid.server.store.jdbc.JdbcUtils.tableExists;
 
 import java.io.ByteArrayInputStream;
-import java.io.IOException;
 import java.sql.Connection;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
@@ -37,10 +36,11 @@ import java.util.UUID;
 import java.util.concurrent.atomic.AtomicReference;
 import java.util.concurrent.locks.ReentrantReadWriteLock;
 
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
 import org.slf4j.Logger;
 
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.ObjectMapper;
+
 import org.apache.qpid.server.model.BrokerModel;
 import org.apache.qpid.server.model.ConfiguredObjectJacksonModule;
 import org.apache.qpid.server.model.ModelVersion;
@@ -279,7 +279,7 @@ public abstract class AbstractJDBCPreferenceStore 
implements PreferenceStore
 
     private void updateOrCreateInternal(final Connection conn,
                                         final Collection<PreferenceRecord> 
preferenceRecords)
-            throws SQLException, JsonProcessingException
+            throws SQLException, JacksonException
     {
         for (PreferenceRecord record : preferenceRecords)
         {
@@ -366,7 +366,7 @@ public abstract class AbstractJDBCPreferenceStore 
implements PreferenceStore
     private void setAttributesAsBlob(final PreparedStatement 
preparedSqlStatement,
                                      final int parameterIndex,
                                      final Map<String, Object> attributes)
-            throws JsonProcessingException, SQLException
+            throws JacksonException, SQLException
     {
         final ObjectMapper objectMapper = 
ConfiguredObjectJacksonModule.newObjectMapper(true);
         if (attributes != null)
@@ -469,7 +469,7 @@ public abstract class AbstractJDBCPreferenceStore 
implements PreferenceStore
                     records.add(preferenceRecord);
                 }
             }
-            catch (IOException e)
+            catch (JacksonException e)
             {
                 throw new StoreException("Error recovering persistent state: " 
+ e.getMessage(), e);
             }
diff --git 
a/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementInputConverter.java
 
b/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementInputConverter.java
index 043f4e3fd5..fb28e674be 100644
--- 
a/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementInputConverter.java
+++ 
b/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementInputConverter.java
@@ -20,11 +20,11 @@
  */
 package org.apache.qpid.server.management.amqp;
 
-import java.io.IOException;
 import java.util.Collection;
 import java.util.Map;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.ObjectMapper;
 
 class ManagementInputConverter
 {
@@ -75,7 +75,7 @@ class ManagementInputConverter
                     {
                         return objectMapper.readValue(input.toString(), clazz);
                     }
-                    catch (IOException e)
+                    catch (JacksonException e)
                     {
                         throw new IllegalArgumentException("Cannot convert 
String '"
                                                            + input.toString() 
+ "' to a " + clazz.getSimpleName());
diff --git a/broker-plugins/management-http/pom.xml 
b/broker-plugins/management-http/pom.xml
index 65a8c08e48..b73635e083 100644
--- a/broker-plugins/management-http/pom.xml
+++ b/broker-plugins/management-http/pom.xml
@@ -63,7 +63,7 @@
     </dependency>
 
     <dependency>
-      <groupId>com.fasterxml.jackson.core</groupId>
+      <groupId>tools.jackson.core</groupId>
       <artifactId>jackson-databind</artifactId>
     </dependency>
 
diff --git 
a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java
 
b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java
index 2781f74746..c1580e4729 100644
--- 
a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java
+++ 
b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java
@@ -48,7 +48,6 @@ import jakarta.servlet.DispatcherType;
 import jakarta.servlet.MultipartConfigElement;
 import jakarta.servlet.http.HttpServletRequest;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
 import org.eclipse.jetty.ee11.servlet.ErrorPageErrorHandler;
 import org.eclipse.jetty.ee11.servlet.ServletHandler;
 import org.eclipse.jetty.http.HttpFields;
@@ -78,9 +77,13 @@ import org.eclipse.jetty.util.thread.ExecutorThreadPool;
 import org.eclipse.jetty.util.thread.QueuedThreadPool;
 import org.eclipse.jetty.util.thread.ScheduledExecutorScheduler;
 import org.eclipse.jetty.util.thread.Scheduler;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.ObjectMapper;
+
 import org.apache.qpid.server.bytebuffer.QpidByteBuffer;
 import org.apache.qpid.server.configuration.IllegalConfigurationException;
 import org.apache.qpid.server.configuration.updater.TaskExecutor;
@@ -934,9 +937,9 @@ public class HttpManagement extends 
AbstractPluginAdapter<HttpManagement> implem
             {
                 
combinationsAsString.add(mapper.writeValueAsString(combination));
             }
-            catch (IOException e)
+            catch (JacksonException e)
             {
-                throw new IllegalArgumentException("Unexpected IO Exception 
generating JSON string", e);
+                throw new IllegalArgumentException("Unexpected exception 
generating JSON string", e);
             }
         }
         return Collections.unmodifiableSet(combinationsAsString);
diff --git 
a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/AbstractServlet.java
 
b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/AbstractServlet.java
index d90c7244aa..4df5757031 100644
--- 
a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/AbstractServlet.java
+++ 
b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/AbstractServlet.java
@@ -43,11 +43,12 @@ import jakarta.servlet.http.HttpServlet;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.SerializationFeature;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.SerializationFeature;
+
 import org.apache.qpid.server.management.plugin.GunzipOutputStream;
 import org.apache.qpid.server.management.plugin.HttpManagementConfiguration;
 import org.apache.qpid.server.management.plugin.HttpManagementUtil;
@@ -279,8 +280,7 @@ public abstract class AbstractServlet extends HttpServlet
     private void writeObjectToResponse(Object object, HttpServletRequest 
request,  HttpServletResponse response) throws IOException
     {
         OutputStream stream = getOutputStream(request, response);
-        ObjectMapper mapper = 
ConfiguredObjectJacksonModule.newObjectMapper(false);
-        mapper.configure(SerializationFeature.INDENT_OUTPUT, true);
+        ObjectMapper mapper = 
ConfiguredObjectJacksonModule.newObjectMapper(false, 
SerializationFeature.INDENT_OUTPUT);
         mapper.writeValue(stream, object);
     }
 
diff --git 
a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MetaDataServlet.java
 
b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MetaDataServlet.java
index 8cb69719ae..3ab519a06a 100644
--- 
a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MetaDataServlet.java
+++ 
b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MetaDataServlet.java
@@ -36,8 +36,9 @@ import jakarta.servlet.ServletException;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.SerializationFeature;
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.SerializationFeature;
+import tools.jackson.databind.json.JsonMapper;
 
 import org.apache.qpid.server.model.ConfiguredObject;
 import org.apache.qpid.server.model.ConfiguredObjectAttribute;
@@ -86,8 +87,9 @@ public class MetaDataServlet extends AbstractServlet
         }
 
         final OutputStream stream = getOutputStream(request, response);
-        ObjectMapper mapper = new ObjectMapper();
-        mapper.configure(SerializationFeature.INDENT_OUTPUT, true);
+        ObjectMapper mapper = JsonMapper.builder()
+                .enable(SerializationFeature.INDENT_OUTPUT)
+                .build();
         mapper.writeValue(stream, classToDataMap);
 
         response.setContentType("application/json");
diff --git 
a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/QueryServlet.java
 
b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/QueryServlet.java
index 061ed84046..53aaf86e19 100644
--- 
a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/QueryServlet.java
+++ 
b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/QueryServlet.java
@@ -33,10 +33,11 @@ import jakarta.servlet.ServletException;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import tools.jackson.databind.ObjectMapper;
+
 import org.apache.qpid.server.filter.SelectorParsingException;
 import org.apache.qpid.server.management.plugin.HttpManagementConfiguration;
 import org.apache.qpid.server.management.plugin.HttpManagementUtil;
diff --git 
a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java
 
b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java
index 90c5eb11d4..439544b7f8 100644
--- 
a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java
+++ 
b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java
@@ -41,11 +41,12 @@ import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
 import jakarta.servlet.http.Part;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.SerializationFeature;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.SerializationFeature;
+
 import org.apache.qpid.server.management.plugin.HttpManagementUtil;
 import org.apache.qpid.server.management.plugin.ManagementController;
 import org.apache.qpid.server.management.plugin.ManagementException;
@@ -292,8 +293,7 @@ public class RestServlet extends AbstractServlet
                                                                       response,
                                                                       
getManagementConfiguration()))
         {
-            ObjectMapper mapper = 
ConfiguredObjectJacksonModule.newObjectMapper(false);
-            mapper.configure(SerializationFeature.INDENT_OUTPUT, true);
+            ObjectMapper mapper = 
ConfiguredObjectJacksonModule.newObjectMapper(false, 
SerializationFeature.INDENT_OUTPUT);
             mapper.writeValue(stream, formattedResponse);
         }
     }
diff --git a/perftests/pom.xml b/perftests/pom.xml
index 9640b2ef0e..1136c06e6d 100644
--- a/perftests/pom.xml
+++ b/perftests/pom.xml
@@ -73,12 +73,12 @@
     </dependency>
 
     <dependency>
-      <groupId>com.fasterxml.jackson.core</groupId>
+      <groupId>tools.jackson.core</groupId>
       <artifactId>jackson-core</artifactId>
     </dependency>
 
     <dependency>
-      <groupId>com.fasterxml.jackson.core</groupId>
+      <groupId>tools.jackson.core</groupId>
       <artifactId>jackson-databind</artifactId>
     </dependency>
 
diff --git 
a/perftests/src/main/assembly/dependency-verification/DEPENDENCIES_REFERENCE 
b/perftests/src/main/assembly/dependency-verification/DEPENDENCIES_REFERENCE
index f1653d7237..bce4947234 100644
--- a/perftests/src/main/assembly/dependency-verification/DEPENDENCIES_REFERENCE
+++ b/perftests/src/main/assembly/dependency-verification/DEPENDENCIES_REFERENCE
@@ -59,10 +59,10 @@ From: 'FasterXML' (http://fasterxml.com/)
   - Jackson-annotations (https://github.com/FasterXML/jackson) 
com.fasterxml.jackson.core:jackson-annotations:jar:2.20
     License: The Apache Software License, Version 2.0  
(https://www.apache.org/licenses/LICENSE-2.0.txt)
 
-  - Jackson-core (https://github.com/FasterXML/jackson-core) 
com.fasterxml.jackson.core:jackson-core:jar:2.20.0
+  - Jackson-core (https://github.com/FasterXML/jackson-core) 
tools.jackson.core:jackson-core:jar:3.0.3
     License: The Apache Software License, Version 2.0  
(https://www.apache.org/licenses/LICENSE-2.0.txt)
 
-  - jackson-databind (https://github.com/FasterXML/jackson) 
com.fasterxml.jackson.core:jackson-databind:jar:2.20.0
+  - jackson-databind (https://github.com/FasterXML/jackson) 
tools.jackson.core:jackson-databind:jar:3.0.3
     License: The Apache Software License, Version 2.0  
(https://www.apache.org/licenses/LICENSE-2.0.txt)
 
 
diff --git 
a/perftests/src/main/java/org/apache/qpid/disttest/controller/config/ConfigReader.java
 
b/perftests/src/main/java/org/apache/qpid/disttest/controller/config/ConfigReader.java
index e72d033d62..b29c41ddca 100644
--- 
a/perftests/src/main/java/org/apache/qpid/disttest/controller/config/ConfigReader.java
+++ 
b/perftests/src/main/java/org/apache/qpid/disttest/controller/config/ConfigReader.java
@@ -24,12 +24,12 @@ import java.io.IOException;
 import java.io.Reader;
 import java.io.StringReader;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import org.apache.qpid.disttest.json.ObjectMapperFactory;
+import tools.jackson.databind.ObjectMapper;
 
+import org.apache.qpid.disttest.json.ObjectMapperFactory;
 
 public class ConfigReader
 {
diff --git 
a/perftests/src/main/java/org/apache/qpid/disttest/jms/QpidRestAPIQueueCreator.java
 
b/perftests/src/main/java/org/apache/qpid/disttest/jms/QpidRestAPIQueueCreator.java
index 5b919071d2..e5510bbbf0 100644
--- 
a/perftests/src/main/java/org/apache/qpid/disttest/jms/QpidRestAPIQueueCreator.java
+++ 
b/perftests/src/main/java/org/apache/qpid/disttest/jms/QpidRestAPIQueueCreator.java
@@ -37,7 +37,6 @@ import javax.jms.MessageConsumer;
 import javax.jms.QueueBrowser;
 import javax.jms.Session;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
 import org.apache.hc.client5.http.auth.AuthScope;
 import org.apache.hc.client5.http.auth.CredentialsProvider;
 import org.apache.hc.client5.http.auth.CredentialsStore;
@@ -59,9 +58,12 @@ import org.apache.hc.core5.http.ProtocolVersion;
 import org.apache.hc.core5.http.io.HttpClientResponseHandler;
 import org.apache.hc.core5.http.io.entity.StringEntity;
 import org.apache.qpid.disttest.json.ObjectMapperFactory;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import tools.jackson.databind.ObjectMapper;
+
 import org.apache.qpid.disttest.DistributedTestException;
 import org.apache.qpid.disttest.controller.config.QueueConfig;
 
diff --git 
a/perftests/src/main/java/org/apache/qpid/disttest/json/JsonHandler.java 
b/perftests/src/main/java/org/apache/qpid/disttest/json/JsonHandler.java
index 6686ace7ad..6fa5b36a85 100644
--- a/perftests/src/main/java/org/apache/qpid/disttest/json/JsonHandler.java
+++ b/perftests/src/main/java/org/apache/qpid/disttest/json/JsonHandler.java
@@ -21,7 +21,7 @@ package org.apache.qpid.disttest.json;
 
 import java.io.IOException;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.ObjectMapper;
 
 import org.apache.qpid.disttest.message.Command;
 
diff --git 
a/perftests/src/main/java/org/apache/qpid/disttest/json/ObjectMapperFactory.java
 
b/perftests/src/main/java/org/apache/qpid/disttest/json/ObjectMapperFactory.java
index 63e02381a2..ac6b0ccc8b 100644
--- 
a/perftests/src/main/java/org/apache/qpid/disttest/json/ObjectMapperFactory.java
+++ 
b/perftests/src/main/java/org/apache/qpid/disttest/json/ObjectMapperFactory.java
@@ -21,30 +21,33 @@
 
 package org.apache.qpid.disttest.json;
 
-
-import java.io.IOException;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
 
 import com.fasterxml.jackson.annotation.JsonAutoDetect;
 import com.fasterxml.jackson.annotation.PropertyAccessor;
-import com.fasterxml.jackson.core.JsonGenerator;
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.TreeNode;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.JsonDeserializer;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.JsonSerializer;
-import com.fasterxml.jackson.databind.MapperFeature;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.SerializationFeature;
-import com.fasterxml.jackson.databind.SerializerProvider;
-import com.fasterxml.jackson.databind.json.JsonMapper;
-import com.fasterxml.jackson.databind.module.SimpleModule;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import com.fasterxml.jackson.databind.node.ValueNode;
+
+import tools.jackson.core.JsonGenerator;
+import tools.jackson.core.JsonParser;
+import tools.jackson.core.ObjectReadContext;
+import tools.jackson.core.StreamReadFeature;
+import tools.jackson.core.TreeNode;
+import tools.jackson.core.json.JsonReadFeature;
+import tools.jackson.databind.DeserializationContext;
+import tools.jackson.databind.DeserializationFeature;
+import tools.jackson.databind.JsonNode;
+import tools.jackson.databind.MapperFeature;
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.SerializationContext;
+import tools.jackson.databind.SerializationFeature;
+import tools.jackson.databind.ValueDeserializer;
+import tools.jackson.databind.ValueSerializer;
+import tools.jackson.databind.cfg.EnumFeature;
+import tools.jackson.databind.json.JsonMapper;
+import tools.jackson.databind.module.SimpleModule;
+import tools.jackson.databind.node.ObjectNode;
+import tools.jackson.databind.node.ValueNode;
 
 import org.apache.qpid.disttest.client.property.PropertyValue;
 import org.apache.qpid.disttest.client.property.PropertyValueFactory;
@@ -55,27 +58,35 @@ public class ObjectMapperFactory
 
     public ObjectMapper createObjectMapper()
     {
-        SimpleModule module = new SimpleModule();
-        module.addDeserializer(PropertyValue.class, new 
PropertyValueDeserializer());
-        module.addSerializer(SimplePropertyValue.class, new 
SimplePropertyValueSerializer());
+        SimpleModule module = new SimpleModule()
+                .addDeserializer(PropertyValue.class, new 
PropertyValueDeserializer())
+                .addSerializer(SimplePropertyValue.class, new 
SimplePropertyValueSerializer());
 
         return JsonMapper.builder()
-                .visibility(PropertyAccessor.FIELD, 
JsonAutoDetect.Visibility.ANY)
-                .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, 
false)
-                .configure(SerializationFeature.INDENT_OUTPUT, true)
-                .configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES, true)
-                .configure(JsonParser.Feature.ALLOW_COMMENTS, true)
-                .configure(MapperFeature.AUTO_DETECT_GETTERS, false)
+                .changeDefaultVisibility(visibilityChecker -> visibilityChecker
+                        .withVisibility(PropertyAccessor.FIELD, 
JsonAutoDetect.Visibility.ANY)
+                        .withVisibility(PropertyAccessor.GETTER, 
JsonAutoDetect.Visibility.NONE)
+                        .withVisibility(PropertyAccessor.IS_GETTER, 
JsonAutoDetect.Visibility.NONE)
+                        .withVisibility(PropertyAccessor.SETTER, 
JsonAutoDetect.Visibility.NONE)
+                        .withVisibility(PropertyAccessor.CREATOR, 
JsonAutoDetect.Visibility.DEFAULT))
+                .enable(MapperFeature.ALLOW_FINAL_FIELDS_AS_MUTATORS)
+                .disable(EnumFeature.READ_ENUMS_USING_TO_STRING)
+                .disable(EnumFeature.WRITE_ENUMS_USING_TO_STRING)
+                .disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)
+                .enable(SerializationFeature.INDENT_OUTPUT)
+                .enable(JsonReadFeature.ALLOW_SINGLE_QUOTES)
+                .enable(JsonReadFeature.ALLOW_JAVA_COMMENTS)
+                .enable(StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION)
                 .addModule(module)
                 .build();
     }
 
-    private static class SimplePropertyValueSerializer extends 
JsonSerializer<SimplePropertyValue>
+    private static class SimplePropertyValueSerializer extends 
ValueSerializer<SimplePropertyValue>
     {
         @Override
         public void serialize(final SimplePropertyValue simplePropertyValue,
                               final JsonGenerator jsonGenerator,
-                              final SerializerProvider serializerProvider) 
throws IOException
+                              final SerializationContext serializerContext)
         {
             if (simplePropertyValue == null)
             {
@@ -119,17 +130,16 @@ public class ObjectMapperFactory
         }
     }
 
-    public static class PropertyValueDeserializer extends 
JsonDeserializer<PropertyValue>
+    public static class PropertyValueDeserializer extends 
ValueDeserializer<PropertyValue>
     {
         private static final String DEF_FIELD = "@def";
         private final PropertyValueFactory _factory = new 
PropertyValueFactory();
 
         @Override
         public PropertyValue deserialize(final JsonParser jsonParser, final 
DeserializationContext deserializationContext)
-                throws IOException
         {
-            ObjectMapper objectMapper = (ObjectMapper) jsonParser.getCodec();
-            TreeNode root = objectMapper.readTree(jsonParser);
+            TreeNode root = deserializationContext.readTree(jsonParser);
+            ObjectReadContext objectReadContext = 
jsonParser.objectReadContext();
 
             if (root.isValueNode())
             {
@@ -186,7 +196,9 @@ public class ObjectMapperFactory
                     try
                     {
                         Class<PropertyValue> classInstance = 
_factory.getPropertyValueClass(definition);
-                        PropertyValue propertyValue = 
objectMapper.readValue(objectNode.traverse(objectMapper), classInstance);
+                        JsonParser treeParser = 
objectNode.traverse(deserializationContext);
+                        treeParser.nextToken();
+                        PropertyValue propertyValue = 
objectReadContext.readValue(treeParser, classInstance);
                         return propertyValue;
                     }
                     catch (ClassNotFoundException e)
diff --git 
a/perftests/src/test/java/org/apache/qpid/disttest/controller/config/JavaScriptConfigEvaluatorTest.java
 
b/perftests/src/test/java/org/apache/qpid/disttest/controller/config/JavaScriptConfigEvaluatorTest.java
index 87e010f0ad..789fccaa20 100644
--- 
a/perftests/src/test/java/org/apache/qpid/disttest/controller/config/JavaScriptConfigEvaluatorTest.java
+++ 
b/perftests/src/test/java/org/apache/qpid/disttest/controller/config/JavaScriptConfigEvaluatorTest.java
@@ -27,14 +27,14 @@ import java.util.List;
 import java.util.Map;
 import java.util.TreeMap;
 
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.SerializationFeature;
-
-import org.apache.qpid.test.utils.TestFileUtils;
-
 import org.junit.jupiter.api.Test;
 
+import tools.jackson.core.json.JsonReadFeature;
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.SerializationFeature;
+import tools.jackson.databind.json.JsonMapper;
+
+import org.apache.qpid.test.utils.TestFileUtils;
 import org.apache.qpid.test.utils.UnitTestBase;
 
 public class JavaScriptConfigEvaluatorTest extends UnitTestBase
@@ -99,9 +99,10 @@ public class JavaScriptConfigEvaluatorTest extends 
UnitTestBase
 
     private Map getObject(String jsonStringIn) throws Exception
     {
-        final ObjectMapper objectMapper = new ObjectMapper();
-        objectMapper.configure(SerializationFeature.INDENT_OUTPUT, true);
-        objectMapper.configure(JsonParser.Feature.ALLOW_COMMENTS, true);
+        final ObjectMapper objectMapper = JsonMapper.builder()
+                .configure(SerializationFeature.INDENT_OUTPUT, true)
+                .configure(JsonReadFeature.ALLOW_JAVA_COMMENTS, true)
+                .build();
         return objectMapper.readValue(jsonStringIn, TreeMap.class);
     }
 }
diff --git 
a/perftests/src/test/java/org/apache/qpid/disttest/message/JsonHandlerTest.java 
b/perftests/src/test/java/org/apache/qpid/disttest/message/JsonHandlerTest.java
index e17b59dc4e..b3cd41f3ad 100644
--- 
a/perftests/src/test/java/org/apache/qpid/disttest/message/JsonHandlerTest.java
+++ 
b/perftests/src/test/java/org/apache/qpid/disttest/message/JsonHandlerTest.java
@@ -24,18 +24,15 @@ import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import java.util.Arrays;
-import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.qpid.disttest.client.property.ListPropertyValue;
-import org.apache.qpid.disttest.client.property.PropertyValue;
-import org.apache.qpid.disttest.json.JsonHandler;
-
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
+import org.apache.qpid.disttest.client.property.ListPropertyValue;
+import org.apache.qpid.disttest.client.property.PropertyValue;
+import org.apache.qpid.disttest.json.JsonHandler;
 import org.apache.qpid.test.utils.UnitTestBase;
 
 public class JsonHandlerTest extends UnitTestBase
@@ -47,8 +44,8 @@ public class JsonHandlerTest extends UnitTestBase
     public void setUp() throws Exception
     {
         _jsonHandler = new JsonHandler();
-        _testCommand = new SendChristmasCards(CommandType.START_TEST, 
Collections.singletonMap(SendChristmasCards.CardType.FUNNY, 5));
-        _testCommand._persons = Arrays.asList(new Person("Phil"), new 
Person("Andrew"));
+        _testCommand = new SendChristmasCards(CommandType.START_TEST, 
Map.of(SendChristmasCards.CardType.FUNNY, 5));
+        _testCommand._persons = List.of(new Person("Phil"), new 
Person("Andrew"));
     }
 
     @Test
@@ -87,7 +84,7 @@ public class JsonHandlerTest extends UnitTestBase
     }
 
     @Test
-    public void testGeneratorDesrialization() throws Exception
+    public void testGeneratorDeserialization() throws Exception
     {
         String json = "{'_messageProperties': {'test': 1, 'generator': 
{'@def': 'list',  '_cyclic': false, '_items': ['first', " +
                 "{'@def': 'range', '_upper':10, '_type':'int'}]}}}";
diff --git a/pom.xml b/pom.xml
index d658ded321..3d1870097d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -107,8 +107,8 @@
     <logback-version>1.5.21</logback-version>
     <logback-db-version>1.2.11.1</logback-db-version>
     <caffeine-version>3.2.3</caffeine-version>
-    <fasterxml-jackson-version>2.20.0</fasterxml-jackson-version>
-    
<fasterxml-jackson-databind-version>2.20.0</fasterxml-jackson-databind-version>
+    <fasterxml-jackson-version>3.0.3</fasterxml-jackson-version>
+    
<fasterxml-jackson-databind-version>3.0.3</fasterxml-jackson-databind-version>
     <slf4j-version>2.0.17</slf4j-version>
     <jetty-version>12.1.5</jetty-version>
 
@@ -593,12 +593,12 @@
         </exclusions>
       </dependency>
       <dependency>
-        <groupId>com.fasterxml.jackson.core</groupId>
+        <groupId>tools.jackson.core</groupId>
         <artifactId>jackson-core</artifactId>
         <version>${fasterxml-jackson-version}</version>
       </dependency>
       <dependency>
-        <groupId>com.fasterxml.jackson.core</groupId>
+        <groupId>tools.jackson.core</groupId>
         <artifactId>jackson-databind</artifactId>
         <version>${fasterxml-jackson-databind-version}</version>
       </dependency>
diff --git 
a/systests/qpid-systests-http-management/src/main/java/org/apache/qpid/tests/http/HttpTestHelper.java
 
b/systests/qpid-systests-http-management/src/main/java/org/apache/qpid/tests/http/HttpTestHelper.java
index fb0cefc525..796cf352ee 100644
--- 
a/systests/qpid-systests-http-management/src/main/java/org/apache/qpid/tests/http/HttpTestHelper.java
+++ 
b/systests/qpid-systests-http-management/src/main/java/org/apache/qpid/tests/http/HttpTestHelper.java
@@ -55,12 +55,12 @@ import javax.net.ssl.X509TrustManager;
 
 import jakarta.servlet.http.HttpServletResponse;
 
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import tools.jackson.core.type.TypeReference;
+import tools.jackson.databind.ObjectMapper;
+
 import org.apache.qpid.server.model.Port;
 import org.apache.qpid.server.security.NonJavaKeyStore;
 import org.apache.qpid.server.transport.network.security.ssl.SSLUtil;
diff --git 
a/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/authentication/PreemptiveAuthenticationTest.java
 
b/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/authentication/PreemptiveAuthenticationTest.java
index eb76e62e96..3dd5d78cee 100644
--- 
a/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/authentication/PreemptiveAuthenticationTest.java
+++ 
b/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/authentication/PreemptiveAuthenticationTest.java
@@ -45,12 +45,13 @@ import java.util.Set;
 
 import jakarta.servlet.http.HttpServletResponse;
 
-import com.fasterxml.jackson.core.type.TypeReference;
 import org.junit.jupiter.api.Assertions;
 
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.Test;
 
+import tools.jackson.core.type.TypeReference;
+
 import org.apache.qpid.server.management.plugin.HttpManagement;
 import org.apache.qpid.server.model.Port;
 import org.apache.qpid.server.model.Protocol;
diff --git 
a/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/compression/CompressedResponsesTest.java
 
b/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/compression/CompressedResponsesTest.java
index c091f376ee..a7d74bfd5c 100644
--- 
a/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/compression/CompressedResponsesTest.java
+++ 
b/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/compression/CompressedResponsesTest.java
@@ -32,12 +32,11 @@ import java.util.LinkedHashMap;
 import java.util.Map;
 import java.util.zip.GZIPInputStream;
 
-import com.fasterxml.jackson.core.JsonParseException;
-import com.fasterxml.jackson.databind.JsonMappingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
 import org.junit.jupiter.api.Test;
 
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.ObjectMapper;
+
 import org.apache.qpid.tests.http.HttpTestBase;
 
 public class CompressedResponsesTest extends HttpTestBase
@@ -114,7 +113,7 @@ public class CompressedResponsesTest extends HttpTestBase
                 {
                     mapper.readValue(jsonStream, LinkedHashMap.class);
                 }
-                catch (JsonParseException | JsonMappingException e)
+                catch (JacksonException e)
                 {
                     fail("Message was not in correct format");
                 }
diff --git 
a/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/endtoend/message/CompressedMessageContentTest.java
 
b/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/endtoend/message/CompressedMessageContentTest.java
index f14cc6505d..d584b272a3 100644
--- 
a/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/endtoend/message/CompressedMessageContentTest.java
+++ 
b/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/endtoend/message/CompressedMessageContentTest.java
@@ -42,13 +42,13 @@ import javax.jms.MessageProducer;
 import javax.jms.Session;
 import javax.jms.TextMessage;
 
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
+import tools.jackson.core.type.TypeReference;
+import tools.jackson.databind.ObjectMapper;
+
 import org.apache.qpid.server.model.Protocol;
 import org.apache.qpid.tests.http.HttpRequestConfig;
 import org.apache.qpid.tests.http.HttpTestBase;
diff --git 
a/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/endtoend/message/ExportImportMessagesTest.java
 
b/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/endtoend/message/ExportImportMessagesTest.java
index 81064184f9..ec4e24dd4f 100644
--- 
a/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/endtoend/message/ExportImportMessagesTest.java
+++ 
b/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/endtoend/message/ExportImportMessagesTest.java
@@ -35,12 +35,12 @@ import javax.jms.MessageConsumer;
 import javax.jms.Session;
 import javax.jms.TextMessage;
 
-import com.fasterxml.jackson.core.type.TypeReference;
-
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
+import tools.jackson.core.type.TypeReference;
+
 import org.apache.qpid.server.model.VirtualHost;
 import org.apache.qpid.systests.Utils;
 import org.apache.qpid.tests.http.HttpRequestConfig;
diff --git 
a/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/endtoend/message/MessageManagementTest.java
 
b/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/endtoend/message/MessageManagementTest.java
index 96ebd14fef..8044675205 100644
--- 
a/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/endtoend/message/MessageManagementTest.java
+++ 
b/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/endtoend/message/MessageManagementTest.java
@@ -43,11 +43,12 @@ import java.util.stream.Stream;
 
 import jakarta.servlet.http.HttpServletResponse;
 
-import com.fasterxml.jackson.core.type.TypeReference;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
+import tools.jackson.core.type.TypeReference;
+
 import org.apache.qpid.server.model.ConfiguredObject;
 import org.apache.qpid.server.queue.PriorityQueue;
 import org.apache.qpid.tests.http.HttpRequestConfig;
diff --git 
a/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/endtoend/message/MessageTest.java
 
b/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/endtoend/message/MessageTest.java
index 5672b73385..b43f50e4b4 100644
--- 
a/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/endtoend/message/MessageTest.java
+++ 
b/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/endtoend/message/MessageTest.java
@@ -53,11 +53,12 @@ import javax.jms.Session;
 import javax.jms.StreamMessage;
 import javax.jms.TextMessage;
 
-import com.fasterxml.jackson.core.type.TypeReference;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
+import tools.jackson.core.type.TypeReference;
+
 import org.apache.qpid.server.model.Protocol;
 import org.apache.qpid.tests.http.HttpRequestConfig;
 import org.apache.qpid.tests.http.HttpTestBase;
diff --git 
a/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/endtoend/port/PortTest.java
 
b/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/endtoend/port/PortTest.java
index e9a4ae8a83..4c767bd38c 100644
--- 
a/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/endtoend/port/PortTest.java
+++ 
b/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/endtoend/port/PortTest.java
@@ -49,12 +49,12 @@ import javax.jms.Session;
 import javax.jms.TextMessage;
 import javax.naming.NamingException;
 
-import com.fasterxml.jackson.core.type.TypeReference;
-
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.RegisterExtension;
 
+import tools.jackson.core.type.TypeReference;
+
 import org.apache.qpid.server.model.ConfiguredObject;
 import org.apache.qpid.server.model.Port;
 import org.apache.qpid.server.model.Protocol;
diff --git 
a/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/endtoend/state/VirtualHostRecoveryTest.java
 
b/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/endtoend/state/VirtualHostRecoveryTest.java
index 44f1d5a9b7..5ef7009c00 100644
--- 
a/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/endtoend/state/VirtualHostRecoveryTest.java
+++ 
b/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/endtoend/state/VirtualHostRecoveryTest.java
@@ -35,11 +35,11 @@ import javax.jms.MessageConsumer;
 import javax.jms.Session;
 import javax.jms.TextMessage;
 
-import com.fasterxml.jackson.core.type.TypeReference;
-
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
+import tools.jackson.core.type.TypeReference;
+
 import org.apache.qpid.server.model.ConfiguredObject;
 import org.apache.qpid.systests.Utils;
 import org.apache.qpid.tests.http.HttpRequestConfig;
diff --git 
a/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/endtoend/store/SplitStoreTest.java
 
b/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/endtoend/store/SplitStoreTest.java
index 9c09c5c3f1..6f9c58f75b 100644
--- 
a/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/endtoend/store/SplitStoreTest.java
+++ 
b/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/endtoend/store/SplitStoreTest.java
@@ -38,11 +38,11 @@ import javax.jms.MessageConsumer;
 import javax.jms.Session;
 import javax.jms.TextMessage;
 
-import com.fasterxml.jackson.core.type.TypeReference;
-
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
+import tools.jackson.core.type.TypeReference;
+
 import org.apache.qpid.server.model.ConfiguredObject;
 import org.apache.qpid.server.model.VirtualHost;
 import org.apache.qpid.server.virtualhost.ProvidedStoreVirtualHostImpl;
diff --git 
a/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/rest/model/CreateTest.java
 
b/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/rest/model/CreateTest.java
index 55aab19e1c..25581282f0 100644
--- 
a/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/rest/model/CreateTest.java
+++ 
b/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/rest/model/CreateTest.java
@@ -35,10 +35,10 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import com.fasterxml.jackson.core.type.TypeReference;
-
 import org.junit.jupiter.api.Test;
 
+import tools.jackson.core.type.TypeReference;
+
 import org.apache.qpid.server.logging.logback.VirtualHostFileLogger;
 import 
org.apache.qpid.server.logging.logback.VirtualHostNameAndLevelLogInclusionRule;
 import org.apache.qpid.server.model.ConfiguredObject;
diff --git 
a/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/rest/model/OperationTest.java
 
b/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/rest/model/OperationTest.java
index 79ec0fbd09..5e17fb0902 100644
--- 
a/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/rest/model/OperationTest.java
+++ 
b/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/rest/model/OperationTest.java
@@ -36,11 +36,11 @@ import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 
-import com.fasterxml.jackson.core.type.TypeReference;
-
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
+import tools.jackson.core.type.TypeReference;
+
 import org.apache.qpid.tests.http.HttpRequestConfig;
 import org.apache.qpid.tests.http.HttpTestBase;
 import org.apache.qpid.tests.http.HttpTestHelper;
diff --git 
a/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/userprefs/UserPreferencesRestTest.java
 
b/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/userprefs/UserPreferencesRestTest.java
index e547090ca9..8ffe8e0cce 100644
--- 
a/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/userprefs/UserPreferencesRestTest.java
+++ 
b/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/userprefs/UserPreferencesRestTest.java
@@ -33,10 +33,10 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import com.fasterxml.jackson.core.type.TypeReference;
-
 import org.junit.jupiter.api.Test;
 
+import tools.jackson.core.type.TypeReference;
+
 import 
org.apache.qpid.server.management.plugin.preferences.QueryPreferenceValue;
 import org.apache.qpid.server.model.preferences.Preference;
 import org.apache.qpid.tests.http.HttpRequestConfig;
diff --git a/systests/qpid-systests-jms-core/pom.xml 
b/systests/qpid-systests-jms-core/pom.xml
index 2800a679b0..8683d479a5 100644
--- a/systests/qpid-systests-jms-core/pom.xml
+++ b/systests/qpid-systests-jms-core/pom.xml
@@ -41,12 +41,12 @@
         </dependency>
 
         <dependency>
-            <groupId>com.fasterxml.jackson.core</groupId>
+            <groupId>tools.jackson.core</groupId>
             <artifactId>jackson-core</artifactId>
         </dependency>
 
         <dependency>
-            <groupId>com.fasterxml.jackson.core</groupId>
+            <groupId>tools.jackson.core</groupId>
             <artifactId>jackson-databind</artifactId>
         </dependency>
 
diff --git 
a/systests/qpid-systests-jms-core/src/main/java/org/apache/qpid/systests/AmqpManagementFacade.java
 
b/systests/qpid-systests-jms-core/src/main/java/org/apache/qpid/systests/AmqpManagementFacade.java
index c160fe01d4..5bf53e65f9 100644
--- 
a/systests/qpid-systests-jms-core/src/main/java/org/apache/qpid/systests/AmqpManagementFacade.java
+++ 
b/systests/qpid-systests-jms-core/src/main/java/org/apache/qpid/systests/AmqpManagementFacade.java
@@ -42,8 +42,8 @@ import javax.jms.Session;
 import javax.jms.StreamMessage;
 import javax.jms.TemporaryQueue;
 
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.ObjectMapper;
 
 import org.apache.qpid.server.model.Protocol;
 
@@ -319,7 +319,7 @@ public class AmqpManagementFacade
                 {
                     jsonifiedValue = objectMapper.writeValueAsString(value);
                 }
-                catch (JsonProcessingException e)
+                catch (JacksonException e)
                 {
                     throw new IllegalArgumentException(String.format(
                             "Cannot convert the argument '%s' to JSON to meet 
JMS type restrictions",
diff --git 
a/systests/qpid-systests-jms_1.1/src/test/java/org/apache/qpid/systests/jms_1_1/extensions/BrokerManagementHelper.java
 
b/systests/qpid-systests-jms_1.1/src/test/java/org/apache/qpid/systests/jms_1_1/extensions/BrokerManagementHelper.java
index e59d65618c..f2e4b2ba37 100644
--- 
a/systests/qpid-systests-jms_1.1/src/test/java/org/apache/qpid/systests/jms_1_1/extensions/BrokerManagementHelper.java
+++ 
b/systests/qpid-systests-jms_1.1/src/test/java/org/apache/qpid/systests/jms_1_1/extensions/BrokerManagementHelper.java
@@ -31,8 +31,8 @@ import javax.jms.JMSException;
 import javax.jms.Session;
 import javax.naming.NamingException;
 
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.ObjectMapper;
 
 import org.apache.qpid.server.model.AuthenticationProvider;
 import org.apache.qpid.server.model.ConfiguredObject;
@@ -107,7 +107,7 @@ public class BrokerManagementHelper implements Closeable
             sslPortAttributes.put(Port.TRUST_STORES, new 
ObjectMapper().writeValueAsString(trustStoreName));
             createEntity(portName, "org.apache.qpid.AmqpPort", 
sslPortAttributes);
         }
-        catch (JsonProcessingException e)
+        catch (JacksonException e)
         {
             throw new RuntimeException("Unexpected json processing exception", 
e);
         }
diff --git 
a/systests/qpid-systests-jms_1.1/src/test/java/org/apache/qpid/systests/jms_1_1/extensions/acl/MessagingACLTest.java
 
b/systests/qpid-systests-jms_1.1/src/test/java/org/apache/qpid/systests/jms_1_1/extensions/acl/MessagingACLTest.java
index 9ca015dc78..322f476ebc 100644
--- 
a/systests/qpid-systests-jms_1.1/src/test/java/org/apache/qpid/systests/jms_1_1/extensions/acl/MessagingACLTest.java
+++ 
b/systests/qpid-systests-jms_1.1/src/test/java/org/apache/qpid/systests/jms_1_1/extensions/acl/MessagingACLTest.java
@@ -31,7 +31,6 @@ import static org.mockito.Mockito.when;
 
 import java.io.StringReader;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -39,7 +38,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.Objects;
 import java.util.Set;
-import java.util.stream.Collectors;
 
 import javax.jms.Connection;
 import javax.jms.JMSException;
@@ -52,13 +50,15 @@ import javax.jms.TemporaryQueue;
 import javax.jms.TemporaryTopic;
 import javax.jms.TextMessage;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
-
 import org.junit.jupiter.api.Test;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.cfg.EnumFeature;
+import tools.jackson.databind.json.JsonMapper;
+
 import org.apache.qpid.server.logging.EventLogger;
 import org.apache.qpid.server.logging.EventLoggerProvider;
 import org.apache.qpid.server.model.ConfiguredObject;
@@ -86,6 +86,11 @@ public class MessagingACLTest extends JmsTestBase
             "org.apache.qpid.RuleBaseVirtualHostAccessControlProvider";
     private static final String EXCHANGE_TYPE = "org.apache.qpid.Exchange";
 
+    private static final ObjectMapper MAPPER = JsonMapper.builder()
+            .disable(EnumFeature.READ_ENUMS_USING_TO_STRING)
+            .disable(EnumFeature.WRITE_ENUMS_USING_TO_STRING)
+            .build();
+
     @Test
     public void testAccessAuthorizedSuccess() throws Exception
     {
@@ -839,7 +844,7 @@ public class MessagingACLTest extends JmsTestBase
         when(eventLoggerProvider.getEventLogger()).thenReturn(eventLogger);
 
         List<AclRule> aclRules = new ArrayList<>();
-        try(StringReader stringReader = new 
StringReader(Arrays.stream(rules).collect(Collectors.joining(LINE_SEPARATOR))))
+        try(StringReader stringReader = new 
StringReader(String.join(LINE_SEPARATOR, rules)))
         {
             RuleSet ruleSet = AclFileParser.parse(stringReader, 
eventLoggerProvider);
             for (final Rule rule: ruleSet)
@@ -848,12 +853,12 @@ public class MessagingACLTest extends JmsTestBase
             }
         }
 
-        configureACL(aclRules.toArray(new AclRule[aclRules.size()]));
+        configureACL(aclRules.toArray(new AclRule[0]));
     }
 
     private void configureACL(AclRule... rules) throws Exception
     {
-        final String serializedRules = new 
ObjectMapper().writeValueAsString(rules);
+        final String serializedRules = MAPPER.writeValueAsString(rules);
         final Map<String, Object> attributes = new HashMap<>();
         attributes.put(RuleBasedVirtualHostAccessControlProvider.RULES, 
serializedRules);
         
attributes.put(RuleBasedVirtualHostAccessControlProvider.DEFAULT_RESULT, 
"DENIED");
diff --git 
a/systests/qpid-systests-jms_1.1/src/test/java/org/apache/qpid/systests/jms_1_1/extensions/autocreation/DefaultAlternateBindingTest.java
 
b/systests/qpid-systests-jms_1.1/src/test/java/org/apache/qpid/systests/jms_1_1/extensions/autocreation/DefaultAlternateBindingTest.java
index f4823fb05a..cccd13cd12 100644
--- 
a/systests/qpid-systests-jms_1.1/src/test/java/org/apache/qpid/systests/jms_1_1/extensions/autocreation/DefaultAlternateBindingTest.java
+++ 
b/systests/qpid-systests-jms_1.1/src/test/java/org/apache/qpid/systests/jms_1_1/extensions/autocreation/DefaultAlternateBindingTest.java
@@ -35,12 +35,12 @@ import javax.jms.MessageConsumer;
 import javax.jms.Queue;
 import javax.jms.Session;
 
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.ObjectMapper;
+
 import org.apache.qpid.server.virtualhost.NodeAutoCreationPolicy;
 import org.apache.qpid.server.virtualhost.QueueManagingVirtualHost;
 import org.apache.qpid.systests.JmsTestBase;
@@ -133,7 +133,7 @@ public class DefaultAlternateBindingTest extends JmsTestBase
         updateEntityUsingAmqpManagement(getVirtualHostName(), 
"org.apache.qpid.VirtualHost", attributes);
     }
 
-    private String createAutoCreationPolicies() throws JsonProcessingException
+    private String createAutoCreationPolicies() throws JacksonException
     {
         List<NodeAutoCreationPolicy> objects = Collections.singletonList(new 
NodeAutoCreationPolicy()
         {
@@ -170,7 +170,7 @@ public class DefaultAlternateBindingTest extends JmsTestBase
         return objectToJsonString(objects);
     }
 
-    private String objectToJsonString(final Object objects) throws 
JsonProcessingException
+    private String objectToJsonString(final Object objects) throws 
JacksonException
     {
         return new ObjectMapper().writeValueAsString(objects);
     }
diff --git 
a/systests/qpid-systests-jms_1.1/src/test/java/org/apache/qpid/systests/jms_1_1/extensions/autocreation/NodeAutoCreationPolicyTest.java
 
b/systests/qpid-systests-jms_1.1/src/test/java/org/apache/qpid/systests/jms_1_1/extensions/autocreation/NodeAutoCreationPolicyTest.java
index 7706f407bc..ff6425f8fb 100644
--- 
a/systests/qpid-systests-jms_1.1/src/test/java/org/apache/qpid/systests/jms_1_1/extensions/autocreation/NodeAutoCreationPolicyTest.java
+++ 
b/systests/qpid-systests-jms_1.1/src/test/java/org/apache/qpid/systests/jms_1_1/extensions/autocreation/NodeAutoCreationPolicyTest.java
@@ -54,10 +54,11 @@ import javax.jms.Session;
 import javax.jms.TextMessage;
 import javax.jms.Topic;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
-
 import org.junit.jupiter.api.Test;
 
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.ObjectMapper;
+
 import org.apache.qpid.server.exchange.ExchangeDefaults;
 import org.apache.qpid.server.model.AlternateBinding;
 import org.apache.qpid.server.model.Exchange;
@@ -217,7 +218,7 @@ public class NodeAutoCreationPolicyTest extends JmsTestBase
 
             return mapper.writeValueAsString(Arrays.asList(policies));
         }
-        catch (IOException e)
+        catch (JacksonException e)
         {
             throw new RuntimeException(e);
         }
diff --git 
a/systests/qpid-systests-jms_1.1/src/test/java/org/apache/qpid/systests/jms_1_1/extensions/connectionlimit/MessagingConnectionLimitTest.java
 
b/systests/qpid-systests-jms_1.1/src/test/java/org/apache/qpid/systests/jms_1_1/extensions/connectionlimit/MessagingConnectionLimitTest.java
index 2f0de8be27..3f83d5d64d 100644
--- 
a/systests/qpid-systests-jms_1.1/src/test/java/org/apache/qpid/systests/jms_1_1/extensions/connectionlimit/MessagingConnectionLimitTest.java
+++ 
b/systests/qpid-systests-jms_1.1/src/test/java/org/apache/qpid/systests/jms_1_1/extensions/connectionlimit/MessagingConnectionLimitTest.java
@@ -29,10 +29,10 @@ import javax.jms.Connection;
 import javax.jms.JMSException;
 import javax.naming.NamingException;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
-
 import org.junit.jupiter.api.Test;
 
+import tools.jackson.databind.ObjectMapper;
+
 import 
org.apache.qpid.server.user.connection.limits.plugins.ConnectionLimitRule;
 import org.apache.qpid.systests.JmsTestBase;
 
diff --git 
a/systests/qpid-systests-jms_1.1/src/test/java/org/apache/qpid/systests/jms_1_1/extensions/management/AmqpManagementTest.java
 
b/systests/qpid-systests-jms_1.1/src/test/java/org/apache/qpid/systests/jms_1_1/extensions/management/AmqpManagementTest.java
index ca411e7d7b..896490c9e3 100644
--- 
a/systests/qpid-systests-jms_1.1/src/test/java/org/apache/qpid/systests/jms_1_1/extensions/management/AmqpManagementTest.java
+++ 
b/systests/qpid-systests-jms_1.1/src/test/java/org/apache/qpid/systests/jms_1_1/extensions/management/AmqpManagementTest.java
@@ -50,12 +50,12 @@ import javax.jms.Queue;
 import javax.jms.Session;
 import javax.naming.NamingException;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
-
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.RegisterExtension;
 
+import tools.jackson.databind.ObjectMapper;
+
 import org.apache.qpid.server.exchange.ExchangeDefaults;
 import org.apache.qpid.server.model.Protocol;
 import org.apache.qpid.server.model.VirtualHostNode;
diff --git 
a/systests/qpid-systests-jms_1.1/src/test/java/org/apache/qpid/systests/jms_1_1/extensions/maxdelivery/MaxDeliveryTest.java
 
b/systests/qpid-systests-jms_1.1/src/test/java/org/apache/qpid/systests/jms_1_1/extensions/maxdelivery/MaxDeliveryTest.java
index dbb23c7023..c9b9318d40 100644
--- 
a/systests/qpid-systests-jms_1.1/src/test/java/org/apache/qpid/systests/jms_1_1/extensions/maxdelivery/MaxDeliveryTest.java
+++ 
b/systests/qpid-systests-jms_1.1/src/test/java/org/apache/qpid/systests/jms_1_1/extensions/maxdelivery/MaxDeliveryTest.java
@@ -48,10 +48,10 @@ import javax.jms.Queue;
 import javax.jms.QueueBrowser;
 import javax.jms.Session;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
-
 import org.junit.jupiter.api.Test;
 
+import tools.jackson.databind.ObjectMapper;
+
 import org.apache.qpid.server.model.AlternateBinding;
 import org.apache.qpid.systests.JmsTestBase;
 import org.apache.qpid.systests.Utils;
diff --git 
a/systests/qpid-systests-jms_1.1/src/test/java/org/apache/qpid/systests/jms_1_1/extensions/routing/AlternateBindingRoutingTest.java
 
b/systests/qpid-systests-jms_1.1/src/test/java/org/apache/qpid/systests/jms_1_1/extensions/routing/AlternateBindingRoutingTest.java
index 1f8e3a7c40..0ca676ac23 100644
--- 
a/systests/qpid-systests-jms_1.1/src/test/java/org/apache/qpid/systests/jms_1_1/extensions/routing/AlternateBindingRoutingTest.java
+++ 
b/systests/qpid-systests-jms_1.1/src/test/java/org/apache/qpid/systests/jms_1_1/extensions/routing/AlternateBindingRoutingTest.java
@@ -32,10 +32,10 @@ import javax.jms.Connection;
 import javax.jms.Queue;
 import javax.jms.Session;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
-
 import org.junit.jupiter.api.Test;
 
+import tools.jackson.databind.ObjectMapper;
+
 import org.apache.qpid.server.model.AlternateBinding;
 import org.apache.qpid.systests.JmsTestBase;
 import org.apache.qpid.systests.Utils;
diff --git 
a/systests/qpid-systests-jms_1.1/src/test/java/org/apache/qpid/systests/jms_1_1/extensions/routing/ExchangeRoutingTest.java
 
b/systests/qpid-systests-jms_1.1/src/test/java/org/apache/qpid/systests/jms_1_1/extensions/routing/ExchangeRoutingTest.java
index 0b8d02e46b..ae6f712e02 100644
--- 
a/systests/qpid-systests-jms_1.1/src/test/java/org/apache/qpid/systests/jms_1_1/extensions/routing/ExchangeRoutingTest.java
+++ 
b/systests/qpid-systests-jms_1.1/src/test/java/org/apache/qpid/systests/jms_1_1/extensions/routing/ExchangeRoutingTest.java
@@ -32,10 +32,10 @@ import javax.jms.Connection;
 import javax.jms.Destination;
 import javax.jms.Session;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
-
 import org.junit.jupiter.api.Test;
 
+import tools.jackson.databind.ObjectMapper;
+
 import org.apache.qpid.server.model.Binding;
 import org.apache.qpid.server.model.Protocol;
 import org.apache.qpid.systests.JmsTestBase;
diff --git 
a/systests/qpid-systests-spawn-admin/src/main/java/org/apache/qpid/systests/admin/SpawnBrokerAdmin.java
 
b/systests/qpid-systests-spawn-admin/src/main/java/org/apache/qpid/systests/admin/SpawnBrokerAdmin.java
index 5bf44a3b25..44de128705 100644
--- 
a/systests/qpid-systests-spawn-admin/src/main/java/org/apache/qpid/systests/admin/SpawnBrokerAdmin.java
+++ 
b/systests/qpid-systests-spawn-admin/src/main/java/org/apache/qpid/systests/admin/SpawnBrokerAdmin.java
@@ -61,11 +61,12 @@ import javax.jms.JMSException;
 import javax.jms.Session;
 import javax.naming.NamingException;
 
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import tools.jackson.core.JacksonException;
+import tools.jackson.databind.ObjectMapper;
+
 import org.apache.qpid.server.plugin.PluggableService;
 import org.apache.qpid.server.util.FileUtils;
 import org.apache.qpid.server.util.SystemUtils;
@@ -520,7 +521,7 @@ public class SpawnBrokerAdmin implements BrokerAdmin, 
Closeable
                     new 
ObjectMapper().writeValueAsString(Collections.singletonMap("virtualhostBlueprint",
                                                                                
    blueprint));
         }
-        catch (JsonProcessingException e)
+        catch (JacksonException e)
         {
             throw new BrokerAdminException("Cannot create virtual host as 
context serialization failed", e);
         }
diff --git 
a/systests/systests-utils/src/main/java/org/apache/qpid/tests/utils/OAuth2MockEndpointHolder.java
 
b/systests/systests-utils/src/main/java/org/apache/qpid/tests/utils/OAuth2MockEndpointHolder.java
index bda0fe04c9..4b710a67a1 100644
--- 
a/systests/systests-utils/src/main/java/org/apache/qpid/tests/utils/OAuth2MockEndpointHolder.java
+++ 
b/systests/systests-utils/src/main/java/org/apache/qpid/tests/utils/OAuth2MockEndpointHolder.java
@@ -30,8 +30,6 @@ import java.util.Map;
 
 import javax.net.ssl.SSLEngine;
 
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.ObjectMapper;
 import jakarta.servlet.http.HttpServlet;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
@@ -44,6 +42,10 @@ import org.eclipse.jetty.server.ServerConnector;
 import org.eclipse.jetty.util.resource.ResourceFactory;
 import org.eclipse.jetty.util.ssl.SslContextFactory;
 
+import tools.jackson.core.JacksonException;
+import tools.jackson.core.type.TypeReference;
+import tools.jackson.databind.ObjectMapper;
+
 import org.apache.qpid.server.configuration.CommonProperties;
 import org.apache.qpid.server.transport.network.security.ssl.SSLUtil;
 
@@ -180,7 +182,7 @@ public class OAuth2MockEndpointHolder
             {
                 listOfStrings = new 
ObjectMapper().readValue(listAsString.getBytes(UTF_8), new TypeReference<>() { 
});
             }
-            catch (IOException e)
+            catch (JacksonException e)
             {
                 listOfStrings = Arrays.asList(listAsString.split("\\s*,\\s*"));
             }
diff --git a/tck/pom.xml b/tck/pom.xml
index 3c6b9fbf31..20c8720221 100644
--- a/tck/pom.xml
+++ b/tck/pom.xml
@@ -65,11 +65,11 @@
             <artifactId>httpclient5</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.fasterxml.jackson.core</groupId>
+            <groupId>tools.jackson.core</groupId>
             <artifactId>jackson-core</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.fasterxml.jackson.core</groupId>
+            <groupId>tools.jackson.core</groupId>
             <artifactId>jackson-databind</artifactId>
         </dependency>
     </dependencies>
diff --git a/tck/src/main/java/org/apache/qpid/tck/ManageQpidJMSResources.java 
b/tck/src/main/java/org/apache/qpid/tck/ManageQpidJMSResources.java
index 8d7134b304..c7e45aef77 100644
--- a/tck/src/main/java/org/apache/qpid/tck/ManageQpidJMSResources.java
+++ b/tck/src/main/java/org/apache/qpid/tck/ManageQpidJMSResources.java
@@ -27,9 +27,14 @@ import java.net.URISyntaxException;
 import java.util.List;
 import java.util.Map;
 
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import tools.jackson.core.json.JsonReadFeature;
+import tools.jackson.core.type.TypeReference;
+import tools.jackson.databind.ObjectMapper;
+import tools.jackson.databind.json.JsonMapper;
+
 import org.apache.hc.client5.http.auth.AuthScope;
 import org.apache.hc.client5.http.auth.CredentialsProvider;
 import org.apache.hc.client5.http.auth.UsernamePasswordCredentials;
@@ -47,8 +52,6 @@ import org.apache.hc.client5.http.protocol.HttpClientContext;
 import org.apache.hc.core5.http.ContentType;
 import org.apache.hc.core5.http.HttpHost;
 import org.apache.hc.core5.http.io.entity.StringEntity;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 /**
  * Used pre/post-integration-test to create/delete JMS resources required for 
the TCK run.
@@ -94,8 +97,9 @@ public class ManageQpidJMSResources
 
     public ManageQpidJMSResources() throws URISyntaxException
     {
-        _objectMapper = new ObjectMapper();
-        _objectMapper.configure(JsonParser.Feature.ALLOW_COMMENTS, true);
+        _objectMapper = JsonMapper.builder()
+                .configure(JsonReadFeature.ALLOW_JAVA_COMMENTS, true)
+                .build();
 
         final String managementUser = 
System.getProperty("tck.management-username");
         final String managementPassword = 
System.getProperty("tck.management-password");
diff --git a/tools/pom.xml b/tools/pom.xml
index d11bd2d851..117934fe9e 100644
--- a/tools/pom.xml
+++ b/tools/pom.xml
@@ -41,12 +41,12 @@
     </dependency>
 
     <dependency>
-      <groupId>com.fasterxml.jackson.core</groupId>
+      <groupId>tools.jackson.core</groupId>
       <artifactId>jackson-core</artifactId>
     </dependency>
 
     <dependency>
-      <groupId>com.fasterxml.jackson.core</groupId>
+      <groupId>tools.jackson.core</groupId>
       <artifactId>jackson-databind</artifactId>
     </dependency>
   </dependencies>
diff --git 
a/tools/src/main/java/org/apache/qpid/tools/RestStressTestClient.java 
b/tools/src/main/java/org/apache/qpid/tools/RestStressTestClient.java
index 4f941c8856..c9bc0ecb9c 100644
--- a/tools/src/main/java/org/apache/qpid/tools/RestStressTestClient.java
+++ b/tools/src/main/java/org/apache/qpid/tools/RestStressTestClient.java
@@ -51,8 +51,8 @@ import javax.net.ssl.SSLContext;
 import javax.net.ssl.TrustManager;
 import javax.net.ssl.X509TrustManager;
 
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.core.type.TypeReference;
+import tools.jackson.databind.ObjectMapper;
 
 import org.apache.qpid.tools.util.ArgumentsParser;
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


Reply via email to