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 7cc69623a9 QPID-8664: [Broker-J] Guava removal (8/10) (#274)
7cc69623a9 is described below

commit 7cc69623a9e55983d03adddec82ea643d9e9c8ae
Author: Daniil Kirilyuk <daniel.kiril...@gmail.com>
AuthorDate: Tue Apr 22 13:39:34 2025 +0200

    QPID-8664: [Broker-J] Guava removal (8/10) (#274)
    
    This commit replaces guava collections and collection utilities with JDK 
collections and utilities
    
    ---------
    
    Co-authored-by: vavrtom <vavr...@apache.org>
---
 .../server/model/preferences/PreferenceImpl.java   |   6 +-
 .../model/preferences/UserPreferencesImpl.java     |  32 ++---
 .../apache/qpid/server/queue/AbstractQueue.java    |  18 ++-
 .../qpid/server/security/AbstractTrustStore.java   |   5 +-
 .../GitHubOAuth2IdentityResolverService.java       |   4 +-
 .../GoogleOAuth2IdentityResolverService.java       |   4 +-
 .../KeycloakOAuth2IdentityResolverService.java     |   4 +-
 .../server/transport/TransactionTimeoutTicker.java |   3 +-
 .../qpid/server/util/LimitedInputStream.java       |  37 ++++--
 .../apache/qpid/server/util/PrimitivesUtils.java   |   4 +-
 .../ConfiguredObjectTypeRegistryTest.java          |   7 +-
 .../singleton/AbstractConfiguredObjectTest.java    |   3 +-
 .../testmodels/singleton/TestSingletonImpl.java    |   4 +-
 .../qpid/server/queue/AbstractQueueTestBase.java   | 142 ++++++++++-----------
 .../security/SiteSpecificTrustStoreTest.java       |  23 ++--
 .../transport/TransactionTimeoutTickerTest.java    |   3 +-
 .../access/config/AclRulePredicatesBuilder.java    |   3 +-
 .../v0_8/MessageConverter_0_8_to_InternalTest.java |   9 +-
 .../v0_8/MessageConverter_Internal_to_0_8Test.java |  11 +-
 .../protocol/v1_0/AMQPConnection_1_0Impl.java      |   6 +-
 .../v1_0/MessageConverter_Internal_to_v1_0.java    |  14 +-
 .../qpid/server/protocol/v1_0/Session_1_0.java     |   6 +-
 .../v1_0/MessageConverter_Internal_to_1_0Test.java |   8 +-
 .../MessageConverter_0_10_to_1_0Test.java          |   8 +-
 .../connection/limits/config/FileParserTest.java   |  30 ++---
 .../server/management/amqp/ManagementNode.java     |   9 +-
 .../server/management/plugin/HttpManagement.java   |   3 +-
 .../plugin/servlet/rest/RequestInfo.java           |  10 +-
 .../plugin/servlet/rest/RestServlet.java           |   3 +-
 .../servlet/rest/RestUserPreferenceHandler.java    |  14 +-
 .../engine/parsing/converter/NumberConverter.java  |  48 +++----
 .../parsing/factory/FunctionExpressionFactory.java |  65 +++++-----
 .../query/engine/parsing/query/FromExpression.java |  19 ++-
 .../query/engine/retriever/AclRuleRetriever.java   |  24 ++--
 .../query/engine/retriever/BindingRetriever.java   |  28 ++--
 .../engine/retriever/CertificateRetriever.java     |  51 ++++----
 .../retriever/ConnectionLimitRuleRetriever.java    |  28 ++--
 .../query/engine/retriever/DomainRetriever.java    |   7 +-
 .../query/engine/retriever/SessionRetriever.java   |  29 +----
 .../parsing/factory/CollectorFactoryTest.java      |  34 +----
 40 files changed, 334 insertions(+), 432 deletions(-)

diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/model/preferences/PreferenceImpl.java
 
b/broker-core/src/main/java/org/apache/qpid/server/model/preferences/PreferenceImpl.java
index e8ad8cfa4e..8f1e9270d2 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/model/preferences/PreferenceImpl.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/model/preferences/PreferenceImpl.java
@@ -20,14 +20,14 @@
 package org.apache.qpid.server.model.preferences;
 
 import java.security.Principal;
+import java.util.Collections;
 import java.util.Date;
+import java.util.HashSet;
 import java.util.LinkedHashMap;
 import java.util.Map;
 import java.util.Set;
 import java.util.UUID;
 
-import com.google.common.collect.ImmutableSet;
-
 import org.apache.qpid.server.model.ConfiguredObject;
 
 public class PreferenceImpl implements Preference
@@ -77,7 +77,7 @@ public class PreferenceImpl implements Preference
         _type = type;
         _description = description;
         _owner = owner;
-        _visibilitySet = (visibilitySet == null ? ImmutableSet.<Principal>of() 
: ImmutableSet.copyOf(visibilitySet));
+        _visibilitySet = visibilitySet == null ? Set.of() : 
Collections.unmodifiableSet(visibilitySet);
         _preferenceValue = preferenceValue;
     }
 
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/model/preferences/UserPreferencesImpl.java
 
b/broker-core/src/main/java/org/apache/qpid/server/model/preferences/UserPreferencesImpl.java
index 6f3e387e1f..ed4373033e 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/model/preferences/UserPreferencesImpl.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/model/preferences/UserPreferencesImpl.java
@@ -45,8 +45,6 @@ import java.util.concurrent.CompletableFuture;
 
 import javax.security.auth.Subject;
 
-import com.google.common.collect.Ordering;
-
 import org.apache.qpid.server.configuration.updater.Task;
 import org.apache.qpid.server.configuration.updater.TaskExecutor;
 import org.apache.qpid.server.model.ConfiguredObject;
@@ -57,32 +55,26 @@ import 
org.apache.qpid.server.store.preferences.PreferenceStore;
 
 public class UserPreferencesImpl implements UserPreferences
 {
-    private static final Comparator<Preference> PREFERENCE_COMPARATOR = new 
Comparator<>()
+    private static final Comparator<Preference> PREFERENCE_COMPARATOR = 
Comparator.nullsFirst((o1, o2) ->
     {
-        private final Ordering<Comparable> _ordering = 
Ordering.natural().nullsFirst();
-
-        @Override
-        public int compare(final Preference o1, final Preference o2)
+        int nameOrder = o1.getName().compareTo(o2.getName());
+        if (nameOrder != 0)
+        {
+            return nameOrder;
+        }
+        else
         {
-            int nameOrder = _ordering.compare(o1.getName(), o2.getName());
-            if (nameOrder != 0)
+            int typeOrder = o1.getType().compareTo(o2.getType());
+            if (typeOrder != 0)
             {
-                return nameOrder;
+                return typeOrder;
             }
             else
             {
-                int typeOrder = _ordering.compare(o1.getType(), o2.getType());
-                if (typeOrder != 0)
-                {
-                    return typeOrder;
-                }
-                else
-                {
-                    return o1.getId().compareTo(o2.getId());
-                }
+                return o1.getId().compareTo(o2.getId());
             }
         }
-    };
+    });
 
     private final Map<UUID, Preference> _preferences;
     private final Map<String, List<Preference>> _preferencesByName;
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java 
b/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java
index a398f6f48d..730733bc32 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java
@@ -59,8 +59,6 @@ import java.util.zip.GZIPOutputStream;
 
 import javax.security.auth.Subject;
 
-import com.google.common.collect.Lists;
-
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -1200,7 +1198,9 @@ public abstract class AbstractQueue<X extends 
AbstractQueue<X>>
 
     private Collection<QueueConsumer<?,?>> getConsumersImpl()
     {
-        return Lists.newArrayList(_queueConsumerManager.getAllIterator());
+        final List<QueueConsumer<?,?>> result = new ArrayList<>();
+        _queueConsumerManager.getAllIterator().forEachRemaining(result::add);
+        return result;
     }
 
 
@@ -3346,11 +3346,15 @@ public abstract class AbstractQueue<X extends 
AbstractQueue<X>>
     {
         if (clazz == org.apache.qpid.server.model.Consumer.class)
         {
-            return _queueConsumerManager == null
-                    ? Set.of()
-                    : (Collection<C>) 
Lists.newArrayList(_queueConsumerManager.getAllIterator());
+            if (_queueConsumerManager == null)
+            {
+                return Set.of();
+            }
+            final List<QueueConsumer<?,?>> result = new ArrayList<>();
+            
_queueConsumerManager.getAllIterator().forEachRemaining(result::add);
+            return (Collection<C>) result;
         }
-        else return super.getChildren(clazz);
+        return super.getChildren(clazz);
     }
 
     @Override
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/security/AbstractTrustStore.java
 
b/broker-core/src/main/java/org/apache/qpid/server/security/AbstractTrustStore.java
index 3f5b2d9dc2..54c6dcf34f 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/security/AbstractTrustStore.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/security/AbstractTrustStore.java
@@ -58,14 +58,13 @@ import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.ScheduledFuture;
 import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 import javax.net.ssl.CertPathTrustManagerParameters;
 import javax.net.ssl.TrustManager;
 import javax.net.ssl.TrustManagerFactory;
 import javax.net.ssl.X509TrustManager;
 
-import com.google.common.collect.Sets;
-
 import org.apache.qpid.server.logging.Outcome;
 import org.apache.qpid.server.transport.network.security.ssl.SSLUtil;
 import org.slf4j.Logger;
@@ -300,7 +299,7 @@ public abstract class AbstractTrustStore<X extends 
AbstractTrustStore<X>>
     {
         if (isTrustAnchorValidityEnforced())
         {
-            final Set<Certificate> trustManagerCerts = 
Sets.newHashSet(getCertificates());
+            final Set<Certificate> trustManagerCerts = 
Stream.of(getCertificates()).collect(Collectors.toSet());
             final Set<TrustAnchor> trustAnchors = new HashSet<>();
             final Set<Certificate> otherCerts = new HashSet<>();
             for (Certificate certs : trustManagerCerts)
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 afb3aea9b9..acc86eab0a 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
@@ -31,10 +31,10 @@ import java.nio.charset.StandardCharsets;
 import java.security.GeneralSecurityException;
 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 com.google.common.collect.Sets;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -75,7 +75,7 @@ public class GitHubOAuth2IdentityResolverService implements 
OAuth2IdentityResolv
     @Override
     public void validate(final OAuth2AuthenticationProvider<?> authProvider) 
throws IllegalConfigurationException
     {
-        if 
(!Sets.newHashSet(authProvider.getScope().split("\\s")).contains("user"))
+        if 
(Stream.of(authProvider.getScope().split("\\s")).noneMatch("user"::equals))
         {
             throw new IllegalConfigurationException("This identity resolver 
requires that scope 'user' is included in"
                                                + " the authentication 
request.");
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 cb29f73341..c76fa33644 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
@@ -31,10 +31,10 @@ import java.nio.charset.StandardCharsets;
 import java.security.GeneralSecurityException;
 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 com.google.common.collect.Sets;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -79,7 +79,7 @@ public class GoogleOAuth2IdentityResolverService implements 
OAuth2IdentityResolv
     @Override
     public void validate(final OAuth2AuthenticationProvider<?> authProvider) 
throws IllegalConfigurationException
     {
-        if 
(!Sets.newHashSet(authProvider.getScope().split("\\s")).contains("profile"))
+        if 
(Stream.of(authProvider.getScope().split("\\s")).noneMatch("profile"::equals))
         {
             throw new IllegalConfigurationException("This identity resolver 
requires that scope 'profile' is included in"
                                                + " the authentication 
request.");
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 6b4582d2ec..b662782edd 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
@@ -31,10 +31,10 @@ import java.nio.charset.StandardCharsets;
 import java.security.GeneralSecurityException;
 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 com.google.common.collect.Sets;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -79,7 +79,7 @@ public class KeycloakOAuth2IdentityResolverService implements 
OAuth2IdentityReso
     @Override
     public void validate(final OAuth2AuthenticationProvider<?> authProvider) 
throws IllegalConfigurationException
     {
-        if 
(!Sets.newHashSet(authProvider.getScope().split("\\s")).contains("openid"))
+        if 
(Stream.of(authProvider.getScope().split("\\s")).noneMatch("openid"::equals))
         {
             throw new IllegalConfigurationException("This identity resolver 
requires that scope 'openid' is included in"
                                                + " the authentication 
request.");
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/transport/TransactionTimeoutTicker.java
 
b/broker-core/src/main/java/org/apache/qpid/server/transport/TransactionTimeoutTicker.java
index 1eff6ef753..0af94007ce 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/transport/TransactionTimeoutTicker.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/transport/TransactionTimeoutTicker.java
@@ -22,8 +22,7 @@
 package org.apache.qpid.server.transport;
 
 import java.util.concurrent.atomic.AtomicLong;
-
-import com.google.common.base.Supplier;
+import java.util.function.Supplier;
 
 import org.apache.qpid.server.util.Action;
 import org.apache.qpid.server.transport.network.Ticker;
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/util/LimitedInputStream.java 
b/broker-core/src/main/java/org/apache/qpid/server/util/LimitedInputStream.java
index dd34fc1438..1ffb2a62dc 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/util/LimitedInputStream.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/util/LimitedInputStream.java
@@ -28,11 +28,11 @@ import java.util.Objects;
 
 public class LimitedInputStream extends FilterInputStream
 {
-
     private long left;
     private long mark = -1;
 
-    public LimitedInputStream(InputStream in, long limit) {
+    public LimitedInputStream(InputStream in, long limit)
+    {
         super(in);
         Objects.requireNonNull(in);
         if (limit < 0)
@@ -50,44 +50,54 @@ public class LimitedInputStream extends FilterInputStream
 
     // it's okay to mark even if mark isn't supported, as reset won't work
     @Override
-    public synchronized void mark(int readLimit) {
+    public synchronized void mark(int readLimit)
+    {
         in.mark(readLimit);
         mark = left;
     }
 
     @Override
-    public int read() throws IOException {
-        if (left == 0) {
+    public int read() throws IOException
+    {
+        if (left == 0)
+        {
             return -1;
         }
 
         int result = in.read();
-        if (result != -1) {
+        if (result != -1)
+        {
             --left;
         }
         return result;
     }
 
     @Override
-    public int read(byte[] b, int off, int len) throws IOException {
-        if (left == 0) {
+    public int read(byte[] b, int off, int len) throws IOException
+    {
+        if (left == 0)
+        {
             return -1;
         }
 
         len = (int) Math.min(len, left);
         int result = in.read(b, off, len);
-        if (result != -1) {
+        if (result != -1)
+        {
             left -= result;
         }
         return result;
     }
 
     @Override
-    public synchronized void reset() throws IOException {
-        if (!in.markSupported()) {
+    public synchronized void reset() throws IOException
+    {
+        if (!in.markSupported())
+        {
             throw new IOException("Mark not supported");
         }
-        if (mark == -1) {
+        if (mark == -1)
+        {
             throw new IOException("Mark not set");
         }
 
@@ -96,7 +106,8 @@ public class LimitedInputStream extends FilterInputStream
     }
 
     @Override
-    public long skip(long n) throws IOException {
+    public long skip(long n) throws IOException
+    {
         n = Math.min(n, left);
         long skipped = in.skip(n);
         left -= skipped;
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/util/PrimitivesUtils.java 
b/broker-core/src/main/java/org/apache/qpid/server/util/PrimitivesUtils.java
index 119c72257e..373b4cccbc 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/util/PrimitivesUtils.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/util/PrimitivesUtils.java
@@ -25,7 +25,9 @@ public final class PrimitivesUtils
     public static final int BYTES = Short.SIZE / Byte.SIZE;
     private static final String ARRAY_TOO_SMALL = "array too small: %s < %s";
 
-    private PrimitivesUtils() { }
+    private PrimitivesUtils()
+    {
+    }
 
     private static void checkArgument(boolean expression, int p1)
     {
diff --git 
a/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/ConfiguredObjectTypeRegistryTest.java
 
b/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/ConfiguredObjectTypeRegistryTest.java
index 0c2d6ccba1..9f5e20fca1 100644
--- 
a/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/ConfiguredObjectTypeRegistryTest.java
+++ 
b/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/ConfiguredObjectTypeRegistryTest.java
@@ -30,11 +30,10 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.util.Collection;
 import java.util.Collections;
+import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import com.google.common.collect.Lists;
-
 import org.junit.jupiter.api.Test;
 
 import org.apache.qpid.server.model.ConfiguredObject;
@@ -156,7 +155,7 @@ public class ConfiguredObjectTypeRegistryTest extends 
UnitTestBase
         final ConfiguredSettableAttribute<?, ?> attribute =
                 (ConfiguredSettableAttribute<?, ?>) 
attributeTypes.get("bodyColour");
 
-        assertEquals(Lists.newArrayList("BLACK", "RED", "BLUE", "GREY"), 
attribute.validValues(),
+        assertEquals(List.of("BLACK", "RED", "BLUE", "GREY"), 
attribute.validValues(),
                 "The attribute's valid values should match the set of the 
enum");
     }
 
@@ -168,7 +167,7 @@ public class ConfiguredObjectTypeRegistryTest extends 
UnitTestBase
         final ConfiguredSettableAttribute<?, ?> attribute =
                 (ConfiguredSettableAttribute<?, ?>) 
attributeTypes.get("interiorColour");
 
-        assertEquals(Lists.newArrayList("GREY", "BLACK"), 
attribute.validValues(),
+        assertEquals(List.of("GREY", "BLACK"), attribute.validValues(),
                 "The attribute's valid values should match the restricted set 
defined on the attribute itself");
     }
 }
diff --git 
a/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/AbstractConfiguredObjectTest.java
 
b/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/AbstractConfiguredObjectTest.java
index f969bf47a2..ca8f18e401 100644
--- 
a/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/AbstractConfiguredObjectTest.java
+++ 
b/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/AbstractConfiguredObjectTest.java
@@ -39,7 +39,6 @@ import java.util.concurrent.atomic.AtomicInteger;
 
 import javax.security.auth.Subject;
 
-import com.google.common.collect.Sets;
 import org.junit.jupiter.api.Test;
 
 import org.apache.qpid.server.configuration.IllegalConfigurationException;
@@ -903,7 +902,7 @@ public class AbstractConfiguredObjectTest extends 
UnitTestBase
         final Map<String, Object> update = Map.of(TestSingleton.NAME, 
objectName, TestSingleton.DESCRIPTION, "an update");
 
         object.setAttributes(update);
-        assertEquals(Sets.newHashSet(TestSingleton.DESCRIPTION), 
object.takeLastReportedSetAttributes(),
+        assertEquals(Set.of(TestSingleton.DESCRIPTION), 
object.takeLastReportedSetAttributes(),
                 "Unexpected member of update set");
     }
 
diff --git 
a/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/TestSingletonImpl.java
 
b/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/TestSingletonImpl.java
index 63fc8d7570..0733cf573a 100644
--- 
a/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/TestSingletonImpl.java
+++ 
b/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/singleton/TestSingletonImpl.java
@@ -30,8 +30,6 @@ import java.util.Set;
 
 import javax.security.auth.Subject;
 
-import com.google.common.collect.Sets;
-
 import org.apache.qpid.server.configuration.updater.CurrentThreadTaskExecutor;
 import org.apache.qpid.server.configuration.updater.TaskExecutor;
 import org.apache.qpid.server.model.AbstractConfiguredObject;
@@ -264,7 +262,7 @@ public class TestSingletonImpl extends 
AbstractConfiguredObject<TestSingletonImp
     protected void postSetAttributes(final Set<String> actualUpdatedAttributes)
     {
         super.postSetAttributes(actualUpdatedAttributes);
-        
_lastReportedSetAttributes.add(Sets.newHashSet(actualUpdatedAttributes));
+        _lastReportedSetAttributes.add(new HashSet<>(actualUpdatedAttributes));
     }
 
     @Override
diff --git 
a/broker-core/src/test/java/org/apache/qpid/server/queue/AbstractQueueTestBase.java
 
b/broker-core/src/test/java/org/apache/qpid/server/queue/AbstractQueueTestBase.java
index 9cb091a109..8f66643132 100644
--- 
a/broker-core/src/test/java/org/apache/qpid/server/queue/AbstractQueueTestBase.java
+++ 
b/broker-core/src/test/java/org/apache/qpid/server/queue/AbstractQueueTestBase.java
@@ -42,13 +42,13 @@ import static org.mockito.Mockito.when;
 
 import java.util.ArrayList;
 import java.util.EnumSet;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 
-import com.google.common.collect.ImmutableMap;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.BeforeEach;
@@ -117,9 +117,9 @@ abstract class AbstractQueueTestBase extends UnitTestBase
     @BeforeEach
     public void setUp() throws Exception
     {
-        final Map<String,Object> attributes = 
ImmutableMap.<String,Object>builder().putAll(_arguments)
-                .put(Queue.NAME, _qname)
-                .put(Queue.OWNER, _owner).build();
+        final Map<String,Object> attributes = new HashMap<>(_arguments);
+        attributes.put(Queue.NAME, _qname);
+        attributes.put(Queue.OWNER, _owner);
         _queue = (AbstractQueue<?>) _virtualHost.createChild(Queue.class, 
attributes);
         _exchange = (DirectExchangeImpl) 
_virtualHost.getChildByName(Exchange.class, 
ExchangeDefaults.DIRECT_EXCHANGE_NAME);
         _consumerTarget = new TestConsumerTarget();
@@ -144,8 +144,8 @@ abstract class AbstractQueueTestBase extends UnitTestBase
                 "Expected exception not thrown");
         assertTrue(thrown.getMessage().contains("name"), "Exception was not 
about missing name");
 
-        final Map<String,Object> attributes = 
ImmutableMap.<String,Object>builder().putAll(_arguments)
-                .put(Queue.NAME, "differentName").build();
+        final Map<String,Object> attributes = new HashMap<>(_arguments);
+        attributes.put(Queue.NAME, "differentName");
         _queue = _virtualHost.createChild(Queue.class, attributes);
         assertNotNull(_queue, "Queue was not created");
     }
@@ -237,10 +237,10 @@ abstract class AbstractQueueTestBase extends UnitTestBase
     public void testMessageHeldIfNotYetValidWhenConsumerAdded() throws 
Exception
     {
         _queue.close();
-        final Map<String,Object> attributes = 
ImmutableMap.<String,Object>builder().putAll(_arguments)
-                .put(Queue.NAME, _qname)
-                .put(Queue.OWNER, _owner)
-                .put(Queue.HOLD_ON_PUBLISH_ENABLED, Boolean.TRUE).build();
+        final Map<String,Object> attributes = new HashMap<>(_arguments);
+        attributes.put(Queue.NAME, _qname);
+        attributes.put(Queue.OWNER, _owner);
+        attributes.put(Queue.HOLD_ON_PUBLISH_ENABLED, Boolean.TRUE);
 
         _queue = _virtualHost.createChild(Queue.class, attributes);
 
@@ -266,10 +266,10 @@ abstract class AbstractQueueTestBase extends UnitTestBase
     public void testMessageHoldingDependentOnQueueProperty() throws Exception
     {
         _queue.close();
-        final Map<String,Object> attributes = 
ImmutableMap.<String,Object>builder().putAll(_arguments)
-                .put(Queue.NAME, _qname)
-                .put(Queue.OWNER, _owner)
-                .put(Queue.HOLD_ON_PUBLISH_ENABLED, Boolean.FALSE).build();
+        final Map<String,Object> attributes = new HashMap<>(_arguments);
+        attributes.put(Queue.NAME, _qname);
+        attributes.put(Queue.OWNER, _owner);
+        attributes.put(Queue.HOLD_ON_PUBLISH_ENABLED, Boolean.FALSE);
 
         _queue = _virtualHost.createChild(Queue.class, attributes);
 
@@ -290,10 +290,10 @@ abstract class AbstractQueueTestBase extends UnitTestBase
     public void testUnheldMessageOvertakesHeld() throws Exception
     {
         _queue.close();
-        final Map<String,Object> attributes = 
ImmutableMap.<String,Object>builder().putAll(_arguments)
-                .put(Queue.NAME, _qname)
-                .put(Queue.OWNER, _owner)
-                .put(Queue.HOLD_ON_PUBLISH_ENABLED, Boolean.TRUE).build();
+        final Map<String,Object> attributes = new HashMap<>(_arguments);
+        attributes.put(Queue.NAME, _qname);
+        attributes.put(Queue.OWNER, _owner);
+        attributes.put(Queue.HOLD_ON_PUBLISH_ENABLED, Boolean.TRUE);
 
         _queue = _virtualHost.createChild(Queue.class, attributes);
 
@@ -782,9 +782,9 @@ abstract class AbstractQueueTestBase extends UnitTestBase
     public void testMaximumMessageTtl()
     {
         // Test scenarios where only the maximum TTL has been set
-        Map<String,Object> attributes = 
ImmutableMap.<String,Object>builder().putAll(_arguments)
-                .put(Queue.NAME,"testTtlOverrideMaximumTTl")
-                .put(Queue.MAXIMUM_MESSAGE_TTL, 10000L).build();
+        Map<String,Object> attributes = new HashMap<>(_arguments);
+        attributes.put(Queue.NAME,"testTtlOverrideMaximumTTl");
+        attributes.put(Queue.MAXIMUM_MESSAGE_TTL, 10000L);
 
         Queue<?> queue = _virtualHost.createChild(Queue.class, attributes);
 
@@ -809,9 +809,9 @@ abstract class AbstractQueueTestBase extends UnitTestBase
 
         // Test the scenarios where only the minimum TTL has been set
 
-        attributes = ImmutableMap.<String,Object>builder().putAll(_arguments)
-                .put(Queue.NAME,"testTtlOverrideMinimumTTl")
-                .put(Queue.MINIMUM_MESSAGE_TTL, 10000L).build();
+        attributes = new HashMap<>(_arguments);
+        attributes.put(Queue.NAME,"testTtlOverrideMinimumTTl");
+        attributes.put(Queue.MINIMUM_MESSAGE_TTL, 10000L);
 
         queue = _virtualHost.createChild(Queue.class, attributes);
 
@@ -836,10 +836,10 @@ abstract class AbstractQueueTestBase extends UnitTestBase
 
         // Test the scenarios where both the minimum and maximum TTL have been 
set
 
-        attributes = ImmutableMap.<String,Object>builder().putAll(_arguments)
-                .put(Queue.NAME,"testTtlOverrideBothTTl")
-                .put(Queue.MINIMUM_MESSAGE_TTL, 10000L)
-                .put(Queue.MAXIMUM_MESSAGE_TTL, 20000L).build();
+        attributes = new HashMap<>(_arguments);
+        attributes.put(Queue.NAME,"testTtlOverrideBothTTl");
+        attributes.put(Queue.MINIMUM_MESSAGE_TTL, 10000L);
+        attributes.put(Queue.MAXIMUM_MESSAGE_TTL, 20000L);
 
         queue = _virtualHost.createChild(Queue.class, attributes);
 
@@ -867,9 +867,9 @@ abstract class AbstractQueueTestBase extends UnitTestBase
     @Test
     public void testNoneOverflowPolicy()
     {
-        final Map<String,Object> attributes = 
ImmutableMap.<String,Object>builder().putAll(_arguments)
-                .put(Queue.MAXIMUM_QUEUE_DEPTH_MESSAGES, 2)
-                .put(Queue.MAXIMUM_QUEUE_DEPTH_BYTES, 100).build();
+        final Map<String,Object> attributes = new HashMap<>(_arguments);
+        attributes.put(Queue.MAXIMUM_QUEUE_DEPTH_MESSAGES, 2);
+        attributes.put(Queue.MAXIMUM_QUEUE_DEPTH_BYTES, 100);
 
         final Queue<?> queue = getQueue();
         queue.setAttributes(attributes);
@@ -893,9 +893,9 @@ abstract class AbstractQueueTestBase extends UnitTestBase
     @Test
     public void testRingOverflowPolicyMaxCount()
     {
-        final Map<String,Object> attributes = 
ImmutableMap.<String,Object>builder().putAll(_arguments)
-                .put(Queue.OVERFLOW_POLICY, OverflowPolicy.RING)
-                .put(Queue.MAXIMUM_QUEUE_DEPTH_MESSAGES, 4).build();
+        final Map<String,Object> attributes = new HashMap<>(_arguments);
+        attributes.put(Queue.OVERFLOW_POLICY, OverflowPolicy.RING);
+        attributes.put(Queue.MAXIMUM_QUEUE_DEPTH_MESSAGES, 4);
 
         final Queue<?> queue = getQueue();
         queue.setAttributes(attributes);
@@ -925,10 +925,10 @@ abstract class AbstractQueueTestBase extends UnitTestBase
     @Test
     public void testRingOverflowPolicyMaxSize()
     {
-        final Map<String,Object> attributes = 
ImmutableMap.<String,Object>builder().putAll(_arguments)
-                .put(Queue.OVERFLOW_POLICY, OverflowPolicy.RING)
-                .put(Queue.MAXIMUM_QUEUE_DEPTH_MESSAGES, 4)
-                .put(Queue.MAXIMUM_QUEUE_DEPTH_BYTES, 100).build();
+        final Map<String,Object> attributes = new HashMap<>(_arguments);
+        attributes.put(Queue.OVERFLOW_POLICY, OverflowPolicy.RING);
+        attributes.put(Queue.MAXIMUM_QUEUE_DEPTH_MESSAGES, 4);
+        attributes.put(Queue.MAXIMUM_QUEUE_DEPTH_BYTES, 100);
 
         final Queue<?> queue = getQueue();
         queue.setAttributes(attributes);
@@ -962,9 +962,9 @@ abstract class AbstractQueueTestBase extends UnitTestBase
     @Test
     public void testRingOverflowPolicyMessagesRejected()
     {
-        Map<String,Object> attributes = 
ImmutableMap.<String,Object>builder().putAll(_arguments)
-                .put(Queue.OVERFLOW_POLICY, OverflowPolicy.RING)
-                .put(Queue.MAXIMUM_QUEUE_DEPTH_MESSAGES, 0).build();
+        Map<String,Object> attributes = new HashMap<>(_arguments);
+        attributes.put(Queue.OVERFLOW_POLICY, OverflowPolicy.RING);
+        attributes.put(Queue.MAXIMUM_QUEUE_DEPTH_MESSAGES, 0);
 
         final Queue<?> queue = getQueue();
         queue.setAttributes(attributes);
@@ -980,9 +980,9 @@ abstract class AbstractQueueTestBase extends UnitTestBase
         final int payloadSize = 10;
         final int id = 28;
 
-        attributes = ImmutableMap.<String,Object>builder().putAll(_arguments)
-                .put(Queue.MAXIMUM_QUEUE_DEPTH_MESSAGES, 10)
-                .put(Queue.MAXIMUM_QUEUE_DEPTH_BYTES, 10).build();
+        attributes = new HashMap<>(_arguments);
+        attributes.put(Queue.MAXIMUM_QUEUE_DEPTH_MESSAGES, 10);
+        attributes.put(Queue.MAXIMUM_QUEUE_DEPTH_BYTES, 10);
         queue.setAttributes(attributes);
 
         message = createMessage((long) id, headerSize, payloadSize);
@@ -994,9 +994,9 @@ abstract class AbstractQueueTestBase extends UnitTestBase
     public void testAlternateBindingValidationRejectsNonExistingDestination()
     {
         final String alternateBinding = "nonExisting";
-        final Map<String, Object> attributes = 
ImmutableMap.<String,Object>builder().putAll(_arguments)
-                .put(Queue.NAME, getTestName())
-                .put(Queue.ALTERNATE_BINDING, 
Map.of(AlternateBinding.DESTINATION, alternateBinding)).build();
+        final Map<String, Object> attributes = new HashMap<>(_arguments);
+        attributes.put(Queue.NAME, getTestName());
+        attributes.put(Queue.ALTERNATE_BINDING, 
Map.of(AlternateBinding.DESTINATION, alternateBinding));
         final UnknownAlternateBindingException thrown = 
assertThrows(UnknownAlternateBindingException.class,
                 () -> _virtualHost.createChild(Queue.class, attributes),
                 "Expected exception is not thrown");
@@ -1018,16 +1018,16 @@ abstract class AbstractQueueTestBase extends 
UnitTestBase
     public void testDurableQueueRejectsNonDurableAlternateBinding()
     {
         final String dlqName = getTestName() + "_DLQ";
-        final Map<String, Object> dlqAttributes = 
ImmutableMap.<String,Object>builder().putAll(_arguments)
-                .put(Queue.NAME, dlqName)
-                .put(Queue.DURABLE, false).build();
+        final Map<String, Object> dlqAttributes = new HashMap<>(_arguments);
+        dlqAttributes.put(Queue.NAME, dlqName);
+        dlqAttributes.put(Queue.DURABLE, false);
 
         _virtualHost.createChild(Queue.class, dlqAttributes);
 
-        final Map<String, Object> queueAttributes = 
ImmutableMap.<String,Object>builder().putAll(_arguments)
-                .put(Queue.NAME, getTestName())
-                .put(Queue.ALTERNATE_BINDING, 
Map.of(AlternateBinding.DESTINATION, dlqName))
-                .put(Queue.DURABLE, true).build();
+        final Map<String, Object> queueAttributes = new HashMap<>(_arguments);
+        queueAttributes.put(Queue.NAME, getTestName());
+        queueAttributes.put(Queue.ALTERNATE_BINDING, 
Map.of(AlternateBinding.DESTINATION, dlqName));
+        queueAttributes.put(Queue.DURABLE, true);
 
         assertThrows(IllegalConfigurationException.class,
                 () -> _virtualHost.createChild(Queue.class, queueAttributes),
@@ -1037,9 +1037,9 @@ abstract class AbstractQueueTestBase extends UnitTestBase
     @Test
     public void testAlternateBinding()
     {
-        final Map<String, Object> attributes = 
ImmutableMap.<String,Object>builder().putAll(_arguments)
-                .put(Queue.NAME, getTestName())
-                .put(Queue.ALTERNATE_BINDING, 
Map.of(AlternateBinding.DESTINATION, _qname)).build();
+        final Map<String, Object> attributes = new HashMap<>(_arguments);
+        attributes.put(Queue.NAME, getTestName());
+        attributes.put(Queue.ALTERNATE_BINDING, 
Map.of(AlternateBinding.DESTINATION, _qname));
         final Queue<?> newQueue = _virtualHost.createChild(Queue.class, 
attributes);
 
         assertEquals(_qname, newQueue.getAlternateBinding().getDestination(), 
"Unexpected alternate binding");
@@ -1048,9 +1048,9 @@ abstract class AbstractQueueTestBase extends UnitTestBase
     @Test
     public void testDeleteOfQueueSetAsAlternate()
     {
-        final Map<String, Object> attributes = 
ImmutableMap.<String,Object>builder().putAll(_arguments)
-                .put(Queue.NAME, getTestName())
-                .put(Queue.ALTERNATE_BINDING, 
Map.of(AlternateBinding.DESTINATION, _qname)).build();
+        final Map<String, Object> attributes = new HashMap<>(_arguments);
+        attributes.put(Queue.NAME, getTestName());
+        attributes.put(Queue.ALTERNATE_BINDING, 
Map.of(AlternateBinding.DESTINATION, _qname));
         final Queue<?> newQueue = _virtualHost.createChild(Queue.class, 
attributes);
 
         assertEquals(_qname, newQueue.getAlternateBinding().getDestination(), 
"Unexpected alternate binding");
@@ -1074,15 +1074,15 @@ abstract class AbstractQueueTestBase extends 
UnitTestBase
     @Test
     public void testExpiryPolicyRouteToAlternate()
     {
-        final Map<String, Object> dlqAttributes = 
ImmutableMap.<String,Object>builder().putAll(_arguments)
-                .put(Queue.NAME, getTestName() + "_dlq")
-                .put(Queue.MINIMUM_MESSAGE_TTL, Long.MAX_VALUE).build();
+        final Map<String, Object> dlqAttributes = new HashMap<>(_arguments);
+        dlqAttributes.put(Queue.NAME, getTestName() + "_dlq");
+        dlqAttributes.put(Queue.MINIMUM_MESSAGE_TTL, Long.MAX_VALUE);
         final Queue<?> dlq = _virtualHost.createChild(Queue.class, 
dlqAttributes);
 
-        final Map<String,Object> attributes = 
ImmutableMap.<String,Object>builder().putAll(_arguments)
-                .put(Queue.NAME, getTestName())
-                .put(Queue.ALTERNATE_BINDING, Map.of("destination", 
dlq.getName()))
-                .put(Queue.EXPIRY_POLICY, 
Queue.ExpiryPolicy.ROUTE_TO_ALTERNATE).build();
+        final Map<String,Object> attributes = new HashMap<>(_arguments);
+        attributes.put(Queue.NAME, getTestName());
+        attributes.put(Queue.ALTERNATE_BINDING, Map.of("destination", 
dlq.getName()));
+        attributes.put(Queue.EXPIRY_POLICY, 
Queue.ExpiryPolicy.ROUTE_TO_ALTERNATE);
 
         final Queue<?> queue = _virtualHost.createChild(Queue.class, 
attributes);
 
@@ -1135,10 +1135,10 @@ abstract class AbstractQueueTestBase extends 
UnitTestBase
     @Test
     public void testCopyMessageRespectsQueueSizeLimits()
     {
-        final Map<String, Object> attributes = 
ImmutableMap.<String,Object>builder().putAll(_arguments)
-                .put(Queue.NAME, getTestName() + "_target")
-                .put(Queue.OVERFLOW_POLICY, OverflowPolicy.RING)
-                .put(Queue.MAXIMUM_QUEUE_DEPTH_MESSAGES, 2).build();
+        final Map<String, Object> attributes = new HashMap<>(_arguments);
+        attributes.put(Queue.NAME, getTestName() + "_target");
+        attributes.put(Queue.OVERFLOW_POLICY, OverflowPolicy.RING);
+        attributes.put(Queue.MAXIMUM_QUEUE_DEPTH_MESSAGES, 2);
 
         final Queue<?> target = _virtualHost.createChild(Queue.class, 
attributes);
 
diff --git 
a/broker-core/src/test/java/org/apache/qpid/server/security/SiteSpecificTrustStoreTest.java
 
b/broker-core/src/test/java/org/apache/qpid/server/security/SiteSpecificTrustStoreTest.java
index 2d99d9f8af..38964abd0d 100644
--- 
a/broker-core/src/test/java/org/apache/qpid/server/security/SiteSpecificTrustStoreTest.java
+++ 
b/broker-core/src/test/java/org/apache/qpid/server/security/SiteSpecificTrustStoreTest.java
@@ -31,6 +31,7 @@ import java.net.ServerSocket;
 import java.net.Socket;
 import java.nio.file.Path;
 import java.security.SecureRandom;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.ExecutorService;
@@ -42,7 +43,6 @@ import javax.net.ssl.KeyManagerFactory;
 import javax.net.ssl.SSLContext;
 import javax.net.ssl.SSLServerSocketFactory;
 
-import com.google.common.collect.ImmutableMap;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
@@ -148,10 +148,9 @@ public class SiteSpecificTrustStoreTest extends 
UnitTestBase
     {
         _testPeer = new TestPeer();
         final int listeningPort = _testPeer.start();
-        final Map<String, Object> attributes = ImmutableMap.<String, 
Object>builder()
-                .putAll(getTrustStoreAttributes(listeningPort))
-                
.put(SiteSpecificTrustStore.CERTIFICATE_REVOCATION_CHECK_ENABLED, true)
-                .put(SiteSpecificTrustStore.CERTIFICATE_REVOCATION_LIST_URL, 
_clrUrl).build();
+        final Map<String, Object> attributes = new 
HashMap<>(getTrustStoreAttributes(listeningPort));
+        
attributes.put(SiteSpecificTrustStore.CERTIFICATE_REVOCATION_CHECK_ENABLED, 
true);
+        attributes.put(SiteSpecificTrustStore.CERTIFICATE_REVOCATION_LIST_URL, 
_clrUrl);
         final SiteSpecificTrustStore<?> trustStore = 
createTestTrustStore(attributes);
         final List<CertificateDetails> certDetails = 
trustStore.getCertificateDetails();
 
@@ -168,10 +167,9 @@ public class SiteSpecificTrustStoreTest extends 
UnitTestBase
     {
         _testPeer = new TestPeer();
         final int listeningPort = _testPeer.start();
-        final Map<String, Object> attributes = ImmutableMap.<String, 
Object>builder()
-                .putAll(getTrustStoreAttributes(listeningPort))
-                
.put(SiteSpecificTrustStore.CERTIFICATE_REVOCATION_CHECK_ENABLED, true)
-                .put(SiteSpecificTrustStore.CERTIFICATE_REVOCATION_LIST_URL, 
_clrUrl).build();
+        final Map<String, Object> attributes = new 
HashMap<>(getTrustStoreAttributes(listeningPort));
+        
attributes.put(SiteSpecificTrustStore.CERTIFICATE_REVOCATION_CHECK_ENABLED, 
true);
+        attributes.put(SiteSpecificTrustStore.CERTIFICATE_REVOCATION_LIST_URL, 
_clrUrl);
         final SiteSpecificTrustStore<?> trustStore = 
createTestTrustStore(attributes);
 
         final IllegalConfigurationException thrown = 
assertThrows(IllegalConfigurationException.class,
@@ -197,10 +195,9 @@ public class SiteSpecificTrustStoreTest extends 
UnitTestBase
     {
         _testPeer = new TestPeer();
         final int listeningPort = _testPeer.start();
-        final Map<String, Object> attributes = ImmutableMap.<String, 
Object>builder()
-                .putAll(getTrustStoreAttributes(listeningPort))
-                
.put(SiteSpecificTrustStore.CERTIFICATE_REVOCATION_CHECK_ENABLED, true)
-                .put(SiteSpecificTrustStore.CERTIFICATE_REVOCATION_LIST_URL, 
NOT_A_CRL).build();
+        final Map<String, Object> attributes = new 
HashMap<>(getTrustStoreAttributes(listeningPort));
+        
attributes.put(SiteSpecificTrustStore.CERTIFICATE_REVOCATION_CHECK_ENABLED, 
true);
+        attributes.put(SiteSpecificTrustStore.CERTIFICATE_REVOCATION_LIST_URL, 
NOT_A_CRL);
 
         KeyStoreTestHelper.checkExceptionThrownDuringKeyStoreCreation(FACTORY, 
BROKER, TrustStore.class, attributes,
                 String.format("Unable to load certificate revocation list '%s' 
for truststore '%s'", NOT_A_CRL, NAME));
diff --git 
a/broker-core/src/test/java/org/apache/qpid/server/transport/TransactionTimeoutTickerTest.java
 
b/broker-core/src/test/java/org/apache/qpid/server/transport/TransactionTimeoutTickerTest.java
index 8d88fd8cea..1471de82c1 100644
--- 
a/broker-core/src/test/java/org/apache/qpid/server/transport/TransactionTimeoutTickerTest.java
+++ 
b/broker-core/src/test/java/org/apache/qpid/server/transport/TransactionTimeoutTickerTest.java
@@ -30,7 +30,8 @@ import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import com.google.common.base.Supplier;
+import java.util.function.Supplier;
+
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
diff --git 
a/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/AclRulePredicatesBuilder.java
 
b/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/AclRulePredicatesBuilder.java
index 7a6054d9e9..24bda9e2b9 100644
--- 
a/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/AclRulePredicatesBuilder.java
+++ 
b/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/AclRulePredicatesBuilder.java
@@ -33,7 +33,6 @@ import 
org.apache.qpid.server.security.access.firewall.FirewallRuleFactory;
 import org.apache.qpid.server.security.access.util.PrefixTreeSet;
 import org.apache.qpid.server.security.access.util.WildCardSet;
 
-import com.google.common.collect.ImmutableSet;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -266,7 +265,7 @@ public final class AclRulePredicatesBuilder
             final Set<?> values = entry.getValue();
             if (!values.isEmpty())
             {
-                properties.put(entry.getKey(), 
ImmutableSet.builder().addAll(values).build());
+                properties.put(entry.getKey(), 
Collections.unmodifiableSet(values));
             }
         }
         return properties;
diff --git 
a/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/MessageConverter_0_8_to_InternalTest.java
 
b/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/MessageConverter_0_8_to_InternalTest.java
index 6777f8bd21..dcf1b78157 100644
--- 
a/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/MessageConverter_0_8_to_InternalTest.java
+++ 
b/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/MessageConverter_0_8_to_InternalTest.java
@@ -36,7 +36,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.UUID;
 
-import com.google.common.collect.Lists;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
@@ -183,7 +182,7 @@ class MessageConverter_0_8_to_InternalTest extends 
UnitTestBase
     @Test
     void convertJmsStreamMessageBody() throws Exception
     {
-        final List<Object> expected = Lists.newArrayList("apple", 43, 31.42D);
+        final List<Object> expected = List.of("apple", 43, 31.42D);
         final byte[] messageBytes = getJmsStreamMessageBytes(expected);
         final String mimeType = "jms/stream-message";
         doTestStreamMessage(messageBytes, mimeType, expected);
@@ -192,7 +191,7 @@ class MessageConverter_0_8_to_InternalTest extends 
UnitTestBase
     @Test
     void convertEmptyJmsStreamMessageBody()
     {
-        final List<Object> expected = Lists.newArrayList();
+        final List<Object> expected = List.of();
         final String mimeType = "jms/stream-message";
         doTestStreamMessage(null, mimeType, expected);
     }
@@ -200,7 +199,7 @@ class MessageConverter_0_8_to_InternalTest extends 
UnitTestBase
     @Test
     void convertAmqpListMessageBody()
     {
-        final List<Object> expected = Lists.newArrayList("apple", 43, 31.42D);
+        final List<Object> expected = List.of("apple", 43, 31.42D);
         final byte[] messageBytes = new 
ListToAmqpListConverter().toMimeContent(expected);
 
         doTestStreamMessage(messageBytes, "amqp/list", expected);
@@ -209,7 +208,7 @@ class MessageConverter_0_8_to_InternalTest extends 
UnitTestBase
     @Test
     void convertEmptyAmqpListMessageBody()
     {
-        final List<Object> expected = Lists.newArrayList();
+        final List<Object> expected = List.of();
         doTestStreamMessage(null, "amqp/list", expected);
     }
 
diff --git 
a/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/MessageConverter_Internal_to_0_8Test.java
 
b/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/MessageConverter_Internal_to_0_8Test.java
index 92a1c1bb51..cfd4d45a01 100644
--- 
a/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/MessageConverter_Internal_to_0_8Test.java
+++ 
b/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/MessageConverter_Internal_to_0_8Test.java
@@ -31,10 +31,9 @@ import java.io.ObjectOutputStream;
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
-import com.google.common.collect.Lists;
-
 import org.junit.jupiter.api.Test;
 
 import org.mockito.ArgumentCaptor;
@@ -85,7 +84,7 @@ class MessageConverter_Internal_to_0_8Test extends 
UnitTestBase
     @Test
     void listMessageWithMimeType() throws Exception
     {
-        final ArrayList<?> content = Lists.newArrayList("testItem", 37.5, 42);
+        final ArrayList<?> content = new ArrayList<>(List.of("testItem", 37.5, 
42));
         final ListToJmsStreamMessage listToJmsStreamMessage = new 
ListToJmsStreamMessage();
         final byte[] expectedContent = 
listToJmsStreamMessage.toMimeContent(content);
         doTest(content, "foo/bar", expectedContent, 
listToJmsStreamMessage.getMimeType());
@@ -94,7 +93,7 @@ class MessageConverter_Internal_to_0_8Test extends 
UnitTestBase
     @Test
     void listMessageWithoutMimeType() throws Exception
     {
-        final ArrayList<?> content = Lists.newArrayList("testItem", 37.5, 42);
+        final ArrayList<?> content = new ArrayList<>(List.of("testItem", 37.5, 
42));
         final ListToJmsStreamMessage listToJmsStreamMessage = new 
ListToJmsStreamMessage();
         final byte[] expectedContent = 
listToJmsStreamMessage.toMimeContent(content);
         doTest(content, null, expectedContent, 
listToJmsStreamMessage.getMimeType());
@@ -103,7 +102,7 @@ class MessageConverter_Internal_to_0_8Test extends 
UnitTestBase
     @Test
     void listMessageWithoutMimeTypeWithNonJmsContent() throws Exception
     {
-        final ArrayList<?> content = Lists.newArrayList("testItem", 37.5, 42, 
Lists.newArrayList());
+        final ArrayList<?> content = new ArrayList<>(List.of("testItem", 37.5, 
42, List.of()));
         final ListToAmqpListConverter listToAmqpListConverter = new 
ListToAmqpListConverter();
         final byte[] expectedContent = 
listToAmqpListConverter.toMimeContent(content);
         doTest(content, null, expectedContent, 
listToAmqpListConverter.getMimeType());
@@ -112,7 +111,7 @@ class MessageConverter_Internal_to_0_8Test extends 
UnitTestBase
     @Test
     void listMessageWithoutMimeTypeWithNonConvertibleItem() throws Exception
     {
-        final ArrayList<?> content = Lists.newArrayList(new MySerializable());
+        final ArrayList<?> content = new ArrayList<>(List.of(new 
MySerializable()));
         final InternalMessage sourceMessage = getAmqMessage(content, null);
         doTest(content, null, getObjectStreamMessageBytes(content), 
"application/java-object-stream");
     }
diff --git 
a/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/AMQPConnection_1_0Impl.java
 
b/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/AMQPConnection_1_0Impl.java
index 1f3d7c6349..16157054cd 100644
--- 
a/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/AMQPConnection_1_0Impl.java
+++ 
b/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/AMQPConnection_1_0Impl.java
@@ -48,10 +48,11 @@ import java.util.concurrent.ConcurrentLinkedQueue;
 import java.util.concurrent.ConcurrentSkipListMap;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicReference;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 import com.google.common.collect.Iterators;
 import com.google.common.collect.PeekingIterator;
-import com.google.common.collect.Sets;
 
 import org.apache.qpid.server.logging.EventLogger;
 import org.apache.qpid.server.logging.messages.ResourceLimitMessages;
@@ -855,7 +856,8 @@ public class AMQPConnection_1_0Impl extends 
AbstractAMQPConnection<AMQPConnectio
         final Map<Symbol, Object> remoteProperties = open.getProperties() == 
null
                 ? Map.of()
                 : Collections.unmodifiableMap(new 
LinkedHashMap<>(open.getProperties()));
-        _remoteDesiredCapabilities = open.getDesiredCapabilities() == null ? 
Set.of() : Sets.newHashSet(open.getDesiredCapabilities());
+        _remoteDesiredCapabilities = open.getDesiredCapabilities() == null ? 
Set.of() : Stream.of(open.getDesiredCapabilities())
+                .collect(Collectors.toSet());
         if (remoteProperties.containsKey(Symbol.valueOf("product")))
         {
             
setClientProduct(remoteProperties.get(Symbol.valueOf("product")).toString());
diff --git 
a/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageConverter_Internal_to_v1_0.java
 
b/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageConverter_Internal_to_v1_0.java
index 6d1a37f88c..4fd015c2e8 100644
--- 
a/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageConverter_Internal_to_v1_0.java
+++ 
b/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageConverter_Internal_to_v1_0.java
@@ -39,8 +39,6 @@ import java.util.Map;
 import java.util.Set;
 import java.util.UUID;
 
-import com.google.common.collect.Sets;
-
 import org.apache.qpid.server.message.internal.InternalMessage;
 import org.apache.qpid.server.plugin.PluggableService;
 import org.apache.qpid.server.protocol.converter.MessageConversionException;
@@ -65,12 +63,12 @@ import 
org.apache.qpid.server.util.ConnectionScopedRuntimeException;
 public class MessageConverter_Internal_to_v1_0 extends 
MessageConverter_to_1_0<InternalMessage>
 {
 
-    private static final Set<Class<?>> TYPES_EXPRESSIBLE_AS_AMQP_1_0_VALUE = 
Sets.newHashSet(String.class,
-                                                                               
              Character.class,
-                                                                               
              Boolean.class,
-                                                                               
              Number.class,
-                                                                               
              UUID.class,
-                                                                               
              Date.class);
+    private static final Set<Class<?>> TYPES_EXPRESSIBLE_AS_AMQP_1_0_VALUE = 
Set.of(String.class,
+            Character.class,
+            Boolean.class,
+            Number.class,
+            UUID.class,
+            Date.class);
 
     @Override
     public Class<InternalMessage> getInputClass()
diff --git 
a/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Session_1_0.java
 
b/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Session_1_0.java
index a3ee227446..1602b6d65b 100644
--- 
a/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Session_1_0.java
+++ 
b/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Session_1_0.java
@@ -41,10 +41,10 @@ import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 import javax.security.auth.Subject;
 
-import com.google.common.collect.Sets;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -867,7 +867,7 @@ public class Session_1_0 extends 
AbstractAMQPSession<Session_1_0, ConsumerTarget
 
             if (terminus.getCapabilities() != null)
             {
-                final Set<Symbol> capabilities = 
Sets.newHashSet(terminus.getCapabilities());
+                final Set<Symbol> capabilities = 
Stream.of(terminus.getCapabilities()).collect(Collectors.toSet());
                 if (capabilities.contains(Symbol.valueOf("temporary-queue"))
                     || 
capabilities.contains(Symbol.valueOf("temporary-topic")))
                 {
@@ -893,7 +893,7 @@ public class Session_1_0 extends 
AbstractAMQPSession<Session_1_0, ConsumerTarget
                                                         final Terminus 
terminus) throws AmqpErrorException
     {
         final Symbol[] capabilities = terminus.getCapabilities();
-        final Set<Symbol> capabilitySet = capabilities == null ? Set.of() : 
Sets.newHashSet(capabilities);
+        final Set<Symbol> capabilitySet = capabilities == null ? Set.of() : 
Stream.of(capabilities).collect(Collectors.toSet());
         boolean isTopic = 
capabilitySet.contains(Symbol.valueOf("temporary-topic")) || 
capabilitySet.contains(Symbol.valueOf("topic"));
         final String destName = (isTopic ? "TempTopic" : "TempQueue") + 
UUID.randomUUID();
         try
diff --git 
a/broker-plugins/amqp-1-0-protocol/src/test/java/org/apache/qpid/server/protocol/v1_0/MessageConverter_Internal_to_1_0Test.java
 
b/broker-plugins/amqp-1-0-protocol/src/test/java/org/apache/qpid/server/protocol/v1_0/MessageConverter_Internal_to_1_0Test.java
index 6c3f24bc03..22953de146 100644
--- 
a/broker-plugins/amqp-1-0-protocol/src/test/java/org/apache/qpid/server/protocol/v1_0/MessageConverter_Internal_to_1_0Test.java
+++ 
b/broker-plugins/amqp-1-0-protocol/src/test/java/org/apache/qpid/server/protocol/v1_0/MessageConverter_Internal_to_1_0Test.java
@@ -36,8 +36,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.UUID;
 
-import com.google.common.collect.Lists;
-
 import org.junit.jupiter.api.Test;
 
 import org.mockito.ArgumentCaptor;
@@ -116,7 +114,7 @@ class MessageConverter_Internal_to_1_0Test extends 
UnitTestBase
     @Test
     void listMessageWithMimeType() throws Exception
     {
-        final ArrayList<?> content = Lists.newArrayList("testItem", 37.5, 42);
+        final ArrayList<?> content = new ArrayList<>(List.of("testItem", 37.5, 
42));
         doTest(content,
                "text/plain",
                AmqpSequenceSection.class,
@@ -128,7 +126,7 @@ class MessageConverter_Internal_to_1_0Test extends 
UnitTestBase
     @Test
     void listMessageWithoutMimeType() throws Exception
     {
-        final ArrayList<?> content = Lists.newArrayList("testItem", 37.5, 42);
+        final ArrayList<?> content = new ArrayList<>(List.of("testItem", 37.5, 
42));
         doTest(content,
                null,
                AmqpSequenceSection.class,
@@ -140,7 +138,7 @@ class MessageConverter_Internal_to_1_0Test extends 
UnitTestBase
     @Test
     void listMessageWithoutMimeTypeWithNonJmsContent() throws Exception
     {
-        final ArrayList<?> content = Lists.newArrayList("testItem", 37.5, 42, 
Lists.newArrayList());
+        final ArrayList<?> content = new ArrayList<>(List.of("testItem", 37.5, 
42, List.of()));
         doTest(content,
                null,
                AmqpSequenceSection.class,
diff --git 
a/broker-plugins/amqp-msg-conv-0-10-to-1-0/src/test/java/org/apache/qpid/server/protocol/converter/v0_10_v1_0/MessageConverter_0_10_to_1_0Test.java
 
b/broker-plugins/amqp-msg-conv-0-10-to-1-0/src/test/java/org/apache/qpid/server/protocol/converter/v0_10_v1_0/MessageConverter_0_10_to_1_0Test.java
index 1eff81101e..15c458d62d 100644
--- 
a/broker-plugins/amqp-msg-conv-0-10-to-1-0/src/test/java/org/apache/qpid/server/protocol/converter/v0_10_v1_0/MessageConverter_0_10_to_1_0Test.java
+++ 
b/broker-plugins/amqp-msg-conv-0-10-to-1-0/src/test/java/org/apache/qpid/server/protocol/converter/v0_10_v1_0/MessageConverter_0_10_to_1_0Test.java
@@ -35,8 +35,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.UUID;
 
-import com.google.common.collect.Lists;
-
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 
@@ -201,7 +199,7 @@ class MessageConverter_0_10_to_1_0Test extends UnitTestBase
     @Test
     void convertJmsStreamMessageBody() throws Exception
     {
-        final List<Object> expected = Lists.newArrayList("apple", 43, 31.42D);
+        final List<Object> expected = List.of("apple", 43, 31.42D);
         final byte[] messageBytes = getJmsStreamMessageBytes(expected);
         final String mimeType = "jms/stream-message";
         doTestStreamMessage(messageBytes, mimeType, expected, 
JmsMessageTypeAnnotation.STREAM_MESSAGE.getType());
@@ -217,7 +215,7 @@ class MessageConverter_0_10_to_1_0Test extends UnitTestBase
     @Test
     void convertAmqpListMessageBody() throws Exception
     {
-        final List<Object> expected = Lists.newArrayList("apple", 43, 31.42D);
+        final List<Object> expected = List.of("apple", 43, 31.42D);
         final byte[] messageBytes = new 
ListToAmqpListConverter().toMimeContent(expected);
 
         final String mimeType = "amqp/list";
@@ -227,7 +225,7 @@ class MessageConverter_0_10_to_1_0Test extends UnitTestBase
     @Test
     void convertAmqpListMessageBodyWithNonJmsContent() throws Exception
     {
-        final List<Object> expected = Lists.newArrayList("apple", 43, 31.42D, 
Lists.newArrayList("nonJMSList"));
+        final List<Object> expected = List.of("apple", 43, 31.42D, 
List.of("nonJMSList"));
         final byte[] messageBytes = new 
ListToAmqpListConverter().toMimeContent(expected);
         final String mimeType = "amqp/list";
         doTestStreamMessage(messageBytes, mimeType, expected, null);
diff --git 
a/broker-plugins/connection-limits/src/test/java/org/apache/qpid/server/user/connection/limits/config/FileParserTest.java
 
b/broker-plugins/connection-limits/src/test/java/org/apache/qpid/server/user/connection/limits/config/FileParserTest.java
index 976ca04264..706fae9c12 100644
--- 
a/broker-plugins/connection-limits/src/test/java/org/apache/qpid/server/user/connection/limits/config/FileParserTest.java
+++ 
b/broker-plugins/connection-limits/src/test/java/org/apache/qpid/server/user/connection/limits/config/FileParserTest.java
@@ -36,8 +36,6 @@ import java.nio.file.Path;
 import java.time.Duration;
 import java.util.Collections;
 
-import com.google.common.collect.Iterables;
-
 import org.junit.jupiter.api.Test;
 
 import org.mockito.Mockito;
@@ -55,7 +53,7 @@ public class FileParserTest extends UnitTestBase
     {
         final RuleSetCreator creator = writeConfig("CLT user port=amqp 
connection_limit=10");
 
-        final Rule rule = Iterables.getFirst(creator, null);
+        final Rule rule = creator.iterator().next();
         assertNotNull(rule);
         assertEquals("user", rule.getIdentity());
         assertEquals("amqp", rule.getPort());
@@ -72,7 +70,7 @@ public class FileParserTest extends UnitTestBase
     {
         final RuleSetCreator creator = writeConfig("CLT user port=amqp 
connection-frequency-limit=10/15M");
 
-        final Rule rule = Iterables.getFirst(creator, null);
+        final Rule rule = creator.iterator().next();
         assertNotNull(rule);
         assertEquals("user", rule.getIdentity());
         assertEquals("amqp", rule.getPort());
@@ -88,7 +86,7 @@ public class FileParserTest extends UnitTestBase
     {
         final RuleSetCreator creator = writeConfig("CLT user port=amqp 
connection-frequency-limit=17/m");
 
-        final Rule rule = Iterables.getFirst(creator, null);
+        final Rule rule = creator.iterator().next();
         assertNotNull(rule);
         assertEquals("user", rule.getIdentity());
         assertEquals("amqp", rule.getPort());
@@ -105,7 +103,7 @@ public class FileParserTest extends UnitTestBase
         final RuleSetCreator creator = writeConfig("CLT user port=amqp 
connection-frequency-limit=17/P1dT1m17.7s");
         final Duration duration = Duration.parse("P1dT1m17.7s");
 
-        final Rule rule = Iterables.getFirst(creator, null);
+        final Rule rule = creator.iterator().next();
         assertNotNull(rule);
         assertEquals("user", rule.getIdentity());
         assertEquals("amqp", rule.getPort());
@@ -122,7 +120,7 @@ public class FileParserTest extends UnitTestBase
     {
         final RuleSetCreator creator = writeConfig("CLT user port=amqp 
connection-frequency-limit=17");
 
-        final Rule rule = Iterables.getFirst(creator, null);
+        final Rule rule = creator.iterator().next();
         assertNotNull(rule);
         assertEquals("user", rule.getIdentity());
         assertEquals("amqp", rule.getPort());
@@ -138,7 +136,7 @@ public class FileParserTest extends UnitTestBase
     {
         final RuleSetCreator creator = writeConfig("CLT user port=amqp 
connection_limit=10 connection-frequency-limit=20/m");
 
-        final Rule rule = Iterables.getFirst(creator, null);
+        final Rule rule = creator.iterator().next();
         assertNotNull(rule);
         assertEquals("user", rule.getIdentity());
         assertEquals("amqp", rule.getPort());
@@ -154,7 +152,7 @@ public class FileParserTest extends UnitTestBase
     {
         final RuleSetCreator creator = writeConfig("CLT\tuser\tport='amqp' 
connection_limit=\"10\" connection-frequency-limit='20/h'");
 
-        final Rule rule = Iterables.getFirst(creator, null);
+        final Rule rule = creator.iterator().next();
         assertNotNull(rule);
         assertEquals("user", rule.getIdentity());
         assertEquals("amqp", rule.getPort());
@@ -170,7 +168,7 @@ public class FileParserTest extends UnitTestBase
     {
         final RuleSetCreator creator = writeConfig("CLT user \\ \n 
connectionLimit=10 connection-frequency-limit=20");
 
-        final Rule rule = Iterables.getFirst(creator, null);
+        final Rule rule = creator.iterator().next();
         assertNotNull(rule);
         assertEquals("user", rule.getIdentity());
         assertEquals(RulePredicates.ALL_PORTS, rule.getPort());
@@ -184,7 +182,7 @@ public class FileParserTest extends UnitTestBase
     {
         final RuleSetCreator creator = writeConfig("CLT user block port=amqp");
 
-        final Rule rule = Iterables.getFirst(creator, null);
+        final Rule rule = creator.iterator().next();
         assertNotNull(rule);
         assertEquals("user", rule.getIdentity());
         assertEquals("amqp", rule.getPort());
@@ -200,7 +198,7 @@ public class FileParserTest extends UnitTestBase
     {
         final RuleSetCreator creator = writeConfig("CLT user 
connection_limit=10 connection-frequency-limit=20");
 
-        final Rule rule = Iterables.getFirst(creator, null);
+        final Rule rule = creator.iterator().next();
         assertNotNull(rule);
         assertEquals("user", rule.getIdentity());
         assertEquals(RulePredicates.ALL_PORTS, rule.getPort());
@@ -248,7 +246,7 @@ public class FileParserTest extends UnitTestBase
     {
         final RuleSetCreator creator = writeConfig("ACL ALLOW-LOG user ACCESS 
VIRTUALHOST connection_limit=10");
 
-        final Rule rule = Iterables.getFirst(creator, null);
+        final Rule rule = creator.iterator().next();
         assertNotNull(rule);
         assertEquals("user", rule.getIdentity());
         assertEquals(RulePredicates.ALL_PORTS, rule.getPort());
@@ -264,7 +262,7 @@ public class FileParserTest extends UnitTestBase
     {
         final RuleSetCreator creator = writeConfig("ACL ALLOW-LOG user ACCESS 
VIRTUALHOST connection_frequency_limit=60");
 
-        final Rule rule = Iterables.getFirst(creator, null);
+        final Rule rule = creator.iterator().next();
         assertNotNull(rule);
         assertEquals("user", rule.getIdentity());
         assertEquals(RulePredicates.ALL_PORTS, rule.getPort());
@@ -278,7 +276,7 @@ public class FileParserTest extends UnitTestBase
     {
         final RuleSetCreator creator = writeConfig("ACL ALLOW-LOG user ACCESS 
VIRTUALHOST connection_limit=10 connection_frequency_limit=60");
 
-        final Rule rule = Iterables.getFirst(creator, null);
+        final Rule rule = creator.iterator().next();
         assertNotNull(rule);
         assertEquals("user", rule.getIdentity());
         assertEquals(RulePredicates.ALL_PORTS, rule.getPort());
@@ -292,7 +290,7 @@ public class FileParserTest extends UnitTestBase
     {
         final RuleSetCreator creator = writeConfig("27 ACL ALLOW-LOG user 
ACCESS VIRTUALHOST connection_limit=10 connection_frequency_limit=60");
 
-        final Rule rule = Iterables.getFirst(creator, null);
+        final Rule rule = creator.iterator().next();
         assertNotNull(rule);
         assertEquals("user", rule.getIdentity());
         assertEquals(RulePredicates.ALL_PORTS, rule.getPort());
diff --git 
a/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java
 
b/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java
index 787e13dba0..cf15d712d6 100644
--- 
a/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java
+++ 
b/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java
@@ -47,7 +47,6 @@ import java.util.regex.Pattern;
 
 import javax.security.auth.Subject;
 
-import com.google.common.collect.Sets;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -493,10 +492,10 @@ class ManagementNode implements MessageSource, 
MessageDestination, BaseQueue
                 }
             };
 
-    private final Set<String> STANDARD_OPERATIONS = 
Sets.newHashSet(CREATE_OPERATION.getName(),
-                                                                    
READ_OPERATION.getName(),
-                                                                    
UPDATE_OPERATION.getName(),
-                                                                    
DELETE_OPERATION.getName());
+    private final Set<String> STANDARD_OPERATIONS = 
Set.of(CREATE_OPERATION.getName(),
+            READ_OPERATION.getName(),
+            UPDATE_OPERATION.getName(),
+            DELETE_OPERATION.getName());
 
     private InternalMessage performOperation(final Class<? extends 
ConfiguredObject> clazz,
                                              final String operation,
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 4452db7ad2..89d56fc226 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
@@ -51,7 +51,6 @@ import jakarta.servlet.MultipartConfigElement;
 import jakarta.servlet.http.HttpServletRequest;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
-import com.google.common.base.Joiner;
 import org.eclipse.jetty.io.Connection;
 import org.eclipse.jetty.io.ssl.SslHandshakeListener;
 import org.eclipse.jetty.rewrite.handler.CompactPathRule;
@@ -358,7 +357,7 @@ public class HttpManagement extends 
AbstractPluginAdapter<HttpManagement> implem
 
         final FilterHolder corsFilter = new FilterHolder(new 
CrossOriginFilter());
         corsFilter.setInitParameter(CrossOriginFilter.ALLOWED_ORIGINS_PARAM, 
getCorsAllowOrigins());
-        corsFilter.setInitParameter(CrossOriginFilter.ALLOWED_METHODS_PARAM, 
Joiner.on(",").join(getCorsAllowMethods()));
+        corsFilter.setInitParameter(CrossOriginFilter.ALLOWED_METHODS_PARAM, 
String.join(",", getCorsAllowMethods()));
         corsFilter.setInitParameter(CrossOriginFilter.ALLOWED_HEADERS_PARAM, 
getCorsAllowHeaders());
         corsFilter.setInitParameter(CrossOriginFilter.ALLOW_CREDENTIALS_PARAM, 
String.valueOf(getCorsAllowCredentials()));
         root.addFilter(corsFilter, "/*", EnumSet.of(DispatcherType.REQUEST));
diff --git 
a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RequestInfo.java
 
b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RequestInfo.java
index 1e4060569a..8ddf7710af 100644
--- 
a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RequestInfo.java
+++ 
b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RequestInfo.java
@@ -19,12 +19,10 @@
 
 package org.apache.qpid.server.management.plugin.servlet.rest;
 
+import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
-
 import org.apache.qpid.server.management.plugin.RequestType;
 
 public class RequestInfo
@@ -77,11 +75,11 @@ public class RequestInfo
     {
         _type = type;
         _operationName = operationName;
-        _modelParts = ImmutableList.copyOf(modelParts);
+        _modelParts = Collections.unmodifiableList(modelParts);
         _hierarchySatisfied = hierarchySatisfied;
         _hasWildcard = _modelParts.contains("*");
-        _preferencesParts = ImmutableList.copyOf(preferencesParts);
-        _queryParameters = ImmutableMap.copyOf(queryParameters);
+        _preferencesParts = Collections.unmodifiableList(preferencesParts);
+        _queryParameters = Collections.unmodifiableMap(queryParameters);
     }
 
     public RequestType getType()
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 21bc766a6e..90c5eb11d4 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
@@ -43,7 +43,6 @@ import jakarta.servlet.http.Part;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.SerializationFeature;
-import com.google.common.base.Strings;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -301,7 +300,7 @@ public class RestServlet extends AbstractServlet
 
     private static Map<String, List<String>> parseQueryString(String 
queryString)
     {
-        if (Strings.isNullOrEmpty(queryString))
+        if (queryString == null || queryString.isEmpty())
         {
             return Map.of();
         }
diff --git 
a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestUserPreferenceHandler.java
 
b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestUserPreferenceHandler.java
index be880945d9..22b6ffaca6 100644
--- 
a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestUserPreferenceHandler.java
+++ 
b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestUserPreferenceHandler.java
@@ -30,8 +30,6 @@ import java.util.UUID;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.TimeUnit;
 
-import com.google.common.base.Joiner;
-
 import org.apache.qpid.server.management.plugin.RequestType;
 import org.apache.qpid.server.model.ConfiguredObject;
 import org.apache.qpid.server.model.preferences.Preference;
@@ -76,8 +74,7 @@ public class RestUserPreferenceHandler
         }
         else
         {
-            throw new IllegalArgumentException(String.format("unexpected path 
'%s'",
-                                                             
Joiner.on("/").join(preferencesParts)));
+            throw new IllegalArgumentException(String.format("unexpected path 
'%s'", String.join("/", preferencesParts)));
         }
 
         awaitFuture(userPreferences.delete(type, name, id));
@@ -136,8 +133,7 @@ public class RestUserPreferenceHandler
         }
         else
         {
-            throw new IllegalArgumentException(String.format("unexpected path 
'%s'",
-                                                             
Joiner.on("/").join(preferencesParts)));
+            throw new IllegalArgumentException(String.format("unexpected path 
'%s'", String.join("/", preferencesParts)));
         }
     }
 
@@ -173,8 +169,7 @@ public class RestUserPreferenceHandler
         }
         else
         {
-            throw new IllegalArgumentException(String.format("unexpected path 
'%s'",
-                                                             
Joiner.on("/").join(preferencesParts)));
+            throw new IllegalArgumentException(String.format("unexpected path 
'%s'", String.join("/", preferencesParts)));
         }
 
         awaitFuture(userPreferences.updateOrAppend(preferences));
@@ -289,8 +284,7 @@ public class RestUserPreferenceHandler
         }
         else
         {
-            throw new IllegalArgumentException(String.format("unexpected path 
'%s'",
-                                                             
Joiner.on("/").join(preferencesParts)));
+            throw new IllegalArgumentException(String.format("unexpected path 
'%s'", String.join("/", preferencesParts)));
         }
     }
 
diff --git 
a/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/parsing/converter/NumberConverter.java
 
b/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/parsing/converter/NumberConverter.java
index 302fd72f6a..660e229238 100644
--- 
a/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/parsing/converter/NumberConverter.java
+++ 
b/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/parsing/converter/NumberConverter.java
@@ -25,8 +25,6 @@ import java.math.RoundingMode;
 import java.util.Map;
 import java.util.function.Function;
 
-import com.google.common.collect.ImmutableMap;
-
 import org.apache.qpid.server.query.engine.evaluator.EvaluationContext;
 import org.apache.qpid.server.query.engine.evaluator.EvaluationContextHolder;
 import org.apache.qpid.server.query.engine.evaluator.settings.QuerySettings;
@@ -42,31 +40,27 @@ public final class NumberConverter
     /**
      * Conversion rules
      */
-    private static final Map<Class<?>, Map<Class<?>, Function<Object, ?>>> 
CONVERSIONS = ImmutableMap.<Class<?>, Map<Class<?>, Function<Object, 
?>>>builder()
-        .put(Double.class, ImmutableMap.<Class<?>, Function<Object, 
?>>builder()
-            .put(BigDecimal.class, arg -> ((BigDecimal) arg).doubleValue())
-            .put(Byte.class, arg -> ((Byte) arg).doubleValue())
-            .put(Double.class, arg -> arg)
-            .put(Float.class, arg -> ((Float) arg).doubleValue())
-            .put(Integer.class, arg -> ((Integer) arg).doubleValue())
-            .put(Long.class, arg -> ((Long) arg).doubleValue())
-            .put(Number.class, arg -> ((Number) arg).doubleValue())
-            .put(Short.class, arg -> ((Short) arg).doubleValue())
-            .put(String.class, arg -> Double.parseDouble((String)arg))
-            .build()
-        )
-        .put(Long.class, ImmutableMap.<Class<?>, Function<Object, ?>>builder()
-            .put(BigDecimal.class, arg -> ((BigDecimal) arg).longValue())
-            .put(Byte.class, arg -> ((Byte) arg).longValue())
-            .put(Double.class, arg -> ((Double) arg).longValue())
-            .put(Float.class, arg -> ((Float) arg).longValue())
-            .put(Integer.class, arg -> ((Integer) arg).longValue())
-            .put(Long.class, arg -> arg)
-            .put(Number.class, arg -> ((Number) arg).longValue())
-            .put(Short.class, arg -> ((Short) arg).longValue())
-            .put(String.class, arg -> ((Double) 
Double.parseDouble((String)arg)).longValue())
-            .build()
-        ).build();
+    private static final Map<Class<?>, Map<Class<?>, Function<Object, ?>>> 
CONVERSIONS = Map.of(
+        Double.class, Map.<Class<?>, Function<Object, ?>>of(
+            BigDecimal.class, arg -> ((BigDecimal) arg).doubleValue(),
+            Byte.class, arg -> ((Byte) arg).doubleValue(),
+            Double.class, arg -> arg,
+            Float.class, arg -> ((Float) arg).doubleValue(),
+            Integer.class, arg -> ((Integer) arg).doubleValue(),
+            Long.class, arg -> ((Long) arg).doubleValue(),
+            Number.class, arg -> ((Number) arg).doubleValue(),
+            Short.class, arg -> ((Short) arg).doubleValue(),
+            String.class, arg -> Double.parseDouble((String)arg)),
+        Long.class, Map.<Class<?>, Function<Object, ?>>of(
+            BigDecimal.class, arg -> ((BigDecimal) arg).longValue(),
+            Byte.class, arg -> ((Byte) arg).longValue(),
+            Double.class, arg -> ((Double) arg).longValue(),
+            Float.class, arg -> ((Float) arg).longValue(),
+            Integer.class, arg -> ((Integer) arg).longValue(),
+            Long.class, arg -> arg,
+            Number.class, arg -> ((Number) arg).longValue(),
+            Short.class, arg -> ((Short) arg).longValue(),
+            String.class, arg -> ((Double) 
Double.parseDouble((String)arg)).longValue()));
 
     /**
      * Shouldn't be instantiated directly
diff --git 
a/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/parsing/factory/FunctionExpressionFactory.java
 
b/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/parsing/factory/FunctionExpressionFactory.java
index 1e597a6e6b..74acaaca5a 100644
--- 
a/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/parsing/factory/FunctionExpressionFactory.java
+++ 
b/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/parsing/factory/FunctionExpressionFactory.java
@@ -21,6 +21,8 @@
 package org.apache.qpid.server.query.engine.parsing.factory;
 
 import java.util.Arrays;
+import java.util.Collections;
+import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
@@ -28,8 +30,6 @@ import java.util.Objects;
 import java.util.function.BiFunction;
 import java.util.stream.Collectors;
 
-import com.google.common.collect.ImmutableMap;
-
 import org.apache.qpid.server.query.engine.exception.Errors;
 import org.apache.qpid.server.query.engine.exception.QueryParsingException;
 import org.apache.qpid.server.query.engine.parsing.expression.ExpressionNode;
@@ -104,34 +104,39 @@ public final class FunctionExpressionFactory
     /**
      * Mapping between function name and function creator
      */
-    private static final Map<Functions, BiFunction<?, ?, ?>> FUNCTIONS = 
ImmutableMap.<Functions, BiFunction<?, ?, ?>>builder()
-        .put(Functions.ABS, absExpression())
-        .put(Functions.AVG, avgExpression())
-        .put(Functions.COALESCE, coalesceExpression())
-        .put(Functions.CONCAT, concatExpression())
-        .put(Functions.COUNT, countExpression())
-        .put(Functions.CURRENT_TIMESTAMP, currentTimestampExpression())
-        .put(Functions.DATE, dateExpression())
-        .put(Functions.DATEADD, dateAddExpression())
-        .put(Functions.DATEDIFF, dateDiffExpression())
-        .put(Functions.EXTRACT, extractExpression())
-        .put(Functions.LEN, lenExpression())
-        .put(Functions.LENGTH, lenExpression())
-        .put(Functions.LOWER, lowerExpression())
-        .put(Functions.LTRIM, ltrim())
-        .put(Functions.MAX, maxExpression())
-        .put(Functions.MIN, minExpression())
-        .put(Functions.POSITION, positionExpression())
-        .put(Functions.REPLACE, replaceExpression())
-        .put(Functions.ROUND, roundExpression())
-        .put(Functions.RTRIM, rtrimExpression())
-        .put(Functions.SUBSTR, substringExpression())
-        .put(Functions.SUBSTRING, substringExpression())
-        .put(Functions.SUM, sumExpression())
-        .put(Functions.TRIM, trimExpression())
-        .put(Functions.TRUNC, truncExpression())
-        .put(Functions.UPPER, upperExpression())
-        .build();
+    private static final Map<Functions, BiFunction<?, ?, ?>> FUNCTIONS;
+
+    static
+    {
+        final Map<Functions, BiFunction<?, ?, ?>> map = new LinkedHashMap();
+        map.put(Functions.ABS, absExpression());
+        map.put(Functions.AVG, avgExpression());
+        map.put(Functions.COALESCE, coalesceExpression());
+        map.put(Functions.CONCAT, concatExpression());
+        map.put(Functions.COUNT, countExpression());
+        map.put(Functions.CURRENT_TIMESTAMP, currentTimestampExpression());
+        map.put(Functions.DATE, dateExpression());
+        map.put(Functions.DATEADD, dateAddExpression());
+        map.put(Functions.DATEDIFF, dateDiffExpression());
+        map.put(Functions.EXTRACT, extractExpression());
+        map.put(Functions.LEN, lenExpression());
+        map.put(Functions.LENGTH, lenExpression());
+        map.put(Functions.LOWER, lowerExpression());
+        map.put(Functions.LTRIM, ltrim());
+        map.put(Functions.MAX, maxExpression());
+        map.put(Functions.MIN, minExpression());
+        map.put(Functions.POSITION, positionExpression());
+        map.put(Functions.REPLACE, replaceExpression());
+        map.put(Functions.ROUND, roundExpression());
+        map.put(Functions.RTRIM, rtrimExpression());
+        map.put(Functions.SUBSTR, substringExpression());
+        map.put(Functions.SUBSTRING, substringExpression());
+        map.put(Functions.SUM, sumExpression());
+        map.put(Functions.TRIM, trimExpression());
+        map.put(Functions.TRUNC, truncExpression());
+        map.put(Functions.UPPER, upperExpression());
+        FUNCTIONS = Collections.unmodifiableMap(map);
+    }
 
     /**
      * Shouldn't be instantiated directly
diff --git 
a/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/parsing/query/FromExpression.java
 
b/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/parsing/query/FromExpression.java
index 8a70fbae9a..e05228882f 100644
--- 
a/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/parsing/query/FromExpression.java
+++ 
b/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/parsing/query/FromExpression.java
@@ -31,8 +31,6 @@ import java.util.Objects;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-import com.google.common.collect.ImmutableMap;
-
 import org.apache.qpid.server.model.Binding;
 import org.apache.qpid.server.model.Broker;
 import org.apache.qpid.server.model.ConfiguredObject;
@@ -104,14 +102,13 @@ public class FromExpression<T, R extends Stream<?>, C 
extends ConfiguredObject<?
     /**
      * Additional domains allowed to be queried
      */
-    private final Map<Class<?>, EntityRetriever<C>> _allowedClasses = 
ImmutableMap.<Class<?>, EntityRetriever<C>> builder()
-        .put(AclRule.class, _aclRuleRetriever)
-        .put(Binding.class, _bindingRetriever)
-        .put(Certificate.class, _certificateRetriever)
-        .put(ConnectionLimitRule.class, _connectionLimitRuleRetriever)
-        .put(Domain.class, _domainRetriever)
-        .put(Session.class, _sessionRetriever)
-        .build();
+    private final Map<Class<?>, EntityRetriever<C>> _allowedClasses = Map.of(
+            AclRule.class, _aclRuleRetriever,
+            Binding.class, _bindingRetriever,
+            Certificate.class, _certificateRetriever,
+            ConnectionLimitRule.class, _connectionLimitRuleRetriever,
+            Domain.class, _domainRetriever,
+            Session.class, _sessionRetriever);
 
     /**
      * Domain name
@@ -175,7 +172,7 @@ public class FromExpression<T, R extends Stream<?>, C 
extends ConfiguredObject<?
             if (_category.isAssignableFrom(Domain.class))
             {
                 return (R) Stream.concat(
-                    _allowedClasses.keySet().stream().map(type -> 
ImmutableMap.<String, Object> builder().put("name", 
type.getSimpleName()).build()),
+                    _allowedClasses.keySet().stream().map(type -> 
Map.of("name", type.getSimpleName())),
                     _allowedClasses.get(_category).retrieve((C) _broker)
                 );
             }
diff --git 
a/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/AclRuleRetriever.java
 
b/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/AclRuleRetriever.java
index 22130d7fd2..90f4dbbf35 100644
--- 
a/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/AclRuleRetriever.java
+++ 
b/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/AclRuleRetriever.java
@@ -23,10 +23,9 @@ package org.apache.qpid.server.query.engine.retriever;
 import java.util.List;
 import java.util.Map;
 import java.util.function.Function;
+import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -62,24 +61,17 @@ public class AclRuleRetriever<C extends 
ConfiguredObject<?>> extends ConfiguredO
     /**
      * List of entity field names
      */
-    private final List<String> _fieldNames = new 
ImmutableList.Builder<String>()
-        .add("identity")
-        .add("attributes")
-        .add("objectType")
-        .add("operation")
-        .add("outcome")
-        .build();
+    private final List<String> _fieldNames = List.of("identity", "attributes", 
"objectType", "operation", "outcome");
 
     /**
      * Mapping function for a Rule
      */
-    private final Function<Rule, Map<String, Object>> _ruleMapping = rule -> 
ImmutableMap.<String, Object>builder()
-        .put(_fieldNames.get(0), rule.getIdentity())
-        .put(_fieldNames.get(1), rule.getAttributes())
-        .put(_fieldNames.get(2), rule.getObjectType())
-        .put(_fieldNames.get(3), rule.getOperation())
-        .put(_fieldNames.get(4), rule.getOutcome())
-        .build();
+    private final Function<Rule, Map<String, Object>> _ruleMapping = rule -> 
Map.of(
+            _fieldNames.get(0), rule.getIdentity(),
+            _fieldNames.get(1), rule.getAttributes(),
+            _fieldNames.get(2), rule.getObjectType(),
+            _fieldNames.get(3), rule.getOperation(),
+            _fieldNames.get(4), rule.getOutcome());
 
     /**
      * Cached RuleSet
diff --git 
a/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/BindingRetriever.java
 
b/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/BindingRetriever.java
index d1f2883135..f757268dc8 100644
--- 
a/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/BindingRetriever.java
+++ 
b/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/BindingRetriever.java
@@ -23,11 +23,9 @@ package org.apache.qpid.server.query.engine.retriever;
 import java.util.List;
 import java.util.Map;
 import java.util.function.BiFunction;
+import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
-
 import org.apache.qpid.server.model.Binding;
 import org.apache.qpid.server.model.ConfiguredObject;
 import org.apache.qpid.server.model.Exchange;
@@ -50,27 +48,19 @@ public class BindingRetriever<C extends 
ConfiguredObject<?>> extends ConfiguredO
     /**
      * List of entity field names
      */
-    private final List<String> _fieldNames = new 
ImmutableList.Builder<String>()
-        .add("exchange")
-        .add("bindingKey")
-        .add("name")
-        .add("type")
-        .add("arguments")
-        .add("destination")
-        .build();
+    private final List<String> _fieldNames = List.of("exchange", "bindingKey", 
"name", "type", "arguments", "destination");
 
     /**
      * Mapping function for a Binding
      */
     private final BiFunction<ConfiguredObject<?>, Binding, Map<String, 
Object>> _bindingMapping =
-        (ConfiguredObject<?> parent, Binding binding) ->  
ImmutableMap.<String, Object>builder()
-            .put(_fieldNames.get(0), parent.getName())
-            .put(_fieldNames.get(1), binding.getBindingKey())
-            .put(_fieldNames.get(2), binding.getName())
-            .put(_fieldNames.get(3), binding.getType())
-            .put(_fieldNames.get(4), binding.getArguments())
-            .put(_fieldNames.get(5), binding.getDestination())
-            .build();
+        (ConfiguredObject<?> parent, Binding binding) -> Map.of(
+            _fieldNames.get(0), parent.getName(),
+            _fieldNames.get(1), binding.getBindingKey(),
+            _fieldNames.get(2), binding.getName(),
+            _fieldNames.get(3), binding.getType(),
+            _fieldNames.get(4), binding.getArguments(),
+            _fieldNames.get(5), binding.getDestination());
 
     /**
      * Returns stream of Binding entities
diff --git 
a/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/CertificateRetriever.java
 
b/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/CertificateRetriever.java
index 168bb364ba..7fb2c5dd41 100644
--- 
a/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/CertificateRetriever.java
+++ 
b/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/CertificateRetriever.java
@@ -21,14 +21,14 @@
 package org.apache.qpid.server.query.engine.retriever;
 
 import java.math.BigInteger;
+import java.util.Collections;
+import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.function.BiFunction;
+import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
-
 import org.apache.qpid.server.model.ConfiguredObject;
 import org.apache.qpid.server.model.KeyStore;
 import org.apache.qpid.server.model.TrustStore;
@@ -58,37 +58,30 @@ public class CertificateRetriever<C extends 
ConfiguredObject<?>> extends Configu
     /**
      * List of entity field names
      */
-    private final List<String> _fieldNames = new 
ImmutableList.Builder<String>()
-        .add("store")
-        .add("alias")
-        .add("issuerName")
-        .add("serialNumber")
-        .add("hexSerialNumber")
-        .add("signatureAlgorithm")
-        .add("subjectAltNames")
-        .add("subjectName")
-        .add("validFrom")
-        .add("validUntil")
-        .add("version")
-        .build();
+    private final List<String> _fieldNames = Stream.of("store", "alias", 
"issuerName", "serialNumber", "hexSerialNumber",
+            "signatureAlgorithm", "subjectAltNames", "subjectName", 
"validFrom", "validUntil", "version")
+            .collect(Collectors.toList());
 
     /**
      * Mapping function for a CertificateDetails
      */
     private final BiFunction<ConfiguredObject<?>, CertificateDetails, 
Map<String, Object>> certificateMapping =
-        (ConfiguredObject<?> parent, CertificateDetails certificate) -> 
ImmutableMap.<String, Object>builder()
-            .put(_fieldNames.get(0), parent.getName())
-            .put(_fieldNames.get(1), certificate.getAlias() == null ? "null" : 
certificate.getAlias())
-            .put(_fieldNames.get(2), certificate.getIssuerName())
-            .put(_fieldNames.get(3), certificate.getSerialNumber())
-            .put(_fieldNames.get(4), toHex(certificate.getSerialNumber()))
-            .put(_fieldNames.get(5), certificate.getSignatureAlgorithm())
-            .put(_fieldNames.get(6), certificate.getSubjectAltNames())
-            .put(_fieldNames.get(7), certificate.getSubjectName())
-            .put(_fieldNames.get(8), certificate.getValidFrom())
-            .put(_fieldNames.get(9), certificate.getValidUntil())
-            .put(_fieldNames.get(10), certificate.getVersion())
-            .build();
+        (ConfiguredObject<?> parent, CertificateDetails certificate) ->
+        {
+            final Map<String, Object> map = new LinkedHashMap<>();
+            map.put(_fieldNames.get(0), parent.getName());
+            map.put(_fieldNames.get(1), certificate.getAlias() == null ? 
"null" : certificate.getAlias());
+            map.put(_fieldNames.get(2), certificate.getIssuerName());
+            map.put(_fieldNames.get(3), certificate.getSerialNumber());
+            map.put(_fieldNames.get(4), toHex(certificate.getSerialNumber()));
+            map.put(_fieldNames.get(5), certificate.getSignatureAlgorithm());
+            map.put(_fieldNames.get(6), certificate.getSubjectAltNames());
+            map.put(_fieldNames.get(7), certificate.getSubjectName());
+            map.put(_fieldNames.get(8), certificate.getValidFrom());
+            map.put(_fieldNames.get(9), certificate.getValidUntil());
+            map.put(_fieldNames.get(10), certificate.getVersion());
+            return Collections.unmodifiableMap(map);
+        };
 
     /**
      * Returns stream of CertificateDetails entities
diff --git 
a/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/ConnectionLimitRuleRetriever.java
 
b/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/ConnectionLimitRuleRetriever.java
index c66d160ae5..13d5d69d0e 100644
--- 
a/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/ConnectionLimitRuleRetriever.java
+++ 
b/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/ConnectionLimitRuleRetriever.java
@@ -25,9 +25,6 @@ import java.util.Map;
 import java.util.function.Function;
 import java.util.stream.Stream;
 
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
-
 import org.apache.qpid.server.model.BrokerConnectionLimitProvider;
 import org.apache.qpid.server.model.ConfiguredObject;
 import org.apache.qpid.server.security.limit.ConnectionLimitProvider;
@@ -53,26 +50,19 @@ public class ConnectionLimitRuleRetriever<C extends 
ConfiguredObject<?>> extends
     /**
      * List of entity field names
      */
-    private final List<String> _fieldNames = new 
ImmutableList.Builder<String>()
-        .add("blocked")
-        .add("countLimit")
-        .add("frequencyLimit")
-        .add("frequencyPeriod")
-        .add("identity")
-        .add("port")
-        .build();
+    private final List<String> _fieldNames = List.of("blocked", "countLimit", 
"frequencyLimit", "frequencyPeriod",
+            "identity", "port");
 
     /**
      * Mapping function for a ConnectionLimitRule
      */
-    private final Function<ConnectionLimitRule, Map<String, Object>> 
_connectionLimitRuleMapping = rule -> ImmutableMap.<String, Object>builder()
-        .put(_fieldNames.get(0), rule.getBlocked())
-        .put(_fieldNames.get(1), rule.getCountLimit())
-        .put(_fieldNames.get(2), rule.getFrequencyLimit())
-        .put(_fieldNames.get(3), rule.getFrequencyPeriod())
-        .put(_fieldNames.get(4), rule.getIdentity())
-        .put(_fieldNames.get(5), rule.getPort())
-        .build();
+    private final Function<ConnectionLimitRule, Map<String, Object>> 
_connectionLimitRuleMapping = rule -> Map.of(
+        _fieldNames.get(0), rule.getBlocked(),
+        _fieldNames.get(1), rule.getCountLimit(),
+        _fieldNames.get(2), rule.getFrequencyLimit(),
+        _fieldNames.get(3), rule.getFrequencyPeriod(),
+        _fieldNames.get(4), rule.getIdentity(),
+        _fieldNames.get(5), rule.getPort());
 
     /**
      * Returns stream of ConnectionLimitRule entities
diff --git 
a/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/DomainRetriever.java
 
b/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/DomainRetriever.java
index b2b5149422..2bde83ddde 100644
--- 
a/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/DomainRetriever.java
+++ 
b/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/DomainRetriever.java
@@ -20,13 +20,10 @@
  */
 package org.apache.qpid.server.query.engine.retriever;
 
-import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Stream;
 
-import com.google.common.collect.ImmutableMap;
-
 import org.apache.qpid.server.model.Broker;
 import org.apache.qpid.server.model.ConfiguredObject;
 
@@ -42,7 +39,7 @@ public class DomainRetriever<C extends ConfiguredObject<?>> 
extends ConfiguredOb
     /**
      * List of entity field names
      */
-    private final List<String> _fieldNames = Collections.singletonList("name");
+    private final List<String> _fieldNames = List.of("name");
 
     /**
      * Returns stream of Domain entities
@@ -55,7 +52,7 @@ public class DomainRetriever<C extends ConfiguredObject<?>> 
extends ConfiguredOb
     public Stream<Map<String, ?>> retrieve(final C broker)
     {
         return broker.getModel().getDescendantCategories(Broker.class).stream()
-            .map(type -> ImmutableMap.<String, Object> builder().put("name", 
type.getSimpleName()).build());
+            .map(type -> Map.of("name", type.getSimpleName()));
     }
 
     /**
diff --git 
a/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/SessionRetriever.java
 
b/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/SessionRetriever.java
index 18d44f9733..8a5c270300 100644
--- 
a/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/SessionRetriever.java
+++ 
b/broker-plugins/query-engine/src/main/java/org/apache/qpid/server/query/engine/retriever/SessionRetriever.java
@@ -18,16 +18,17 @@
  * under the License.
  *
  */
+
 package org.apache.qpid.server.query.engine.retriever;
 
+import java.util.Collections;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.function.BiFunction;
+import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-import com.google.common.collect.ImmutableList;
-
 import org.apache.qpid.server.model.ConfiguredObject;
 import org.apache.qpid.server.model.Connection;
 import org.apache.qpid.server.model.Session;
@@ -50,25 +51,9 @@ public class SessionRetriever<C extends ConfiguredObject<?>> 
extends ConfiguredO
     /**
      * List of entity field names
      */
-    private final List<String> _fieldNames = new 
ImmutableList.Builder<String>()
-        .add("connectionId")
-        .add("id")
-        .add("name")
-        .add("description")
-        .add("type")
-        .add("desiredState")
-        .add("state")
-        .add("durable")
-        .add("lifetimePolicy")
-        .add("channelId")
-        .add("lastOpenedTime")
-        .add("producerFlowBlocked")
-        .add("lastUpdatedTime")
-        .add("lastUpdatedBy")
-        .add("createdBy")
-        .add("createdTime")
-        .add("statistics")
-        .build();
+    private final List<String> _fieldNames = List.of("connectionId", "id", 
"name", "description", "type", "desiredState",
+            "state", "durable", "lifetimePolicy", "channelId", 
"lastOpenedTime", "producerFlowBlocked", "lastUpdatedTime",
+            "lastUpdatedBy", "createdBy", "createdTime", "statistics");
 
     /**
      * Mapping function for a Session
@@ -94,7 +79,7 @@ public class SessionRetriever<C extends ConfiguredObject<?>> 
extends ConfiguredO
             result.put(_fieldNames.get(14), session.getCreatedBy());
             result.put(_fieldNames.get(15), session.getCreatedTime());
             result.put(_fieldNames.get(16), session.getStatistics());
-            return result;
+            return Collections.unmodifiableMap(result);
         };
 
     /**
diff --git 
a/broker-plugins/query-engine/src/test/java/org/apache/qpid/server/query/engine/parsing/factory/CollectorFactoryTest.java
 
b/broker-plugins/query-engine/src/test/java/org/apache/qpid/server/query/engine/parsing/factory/CollectorFactoryTest.java
index 4fa05afb50..c9885cd491 100644
--- 
a/broker-plugins/query-engine/src/test/java/org/apache/qpid/server/query/engine/parsing/factory/CollectorFactoryTest.java
+++ 
b/broker-plugins/query-engine/src/test/java/org/apache/qpid/server/query/engine/parsing/factory/CollectorFactoryTest.java
@@ -29,7 +29,6 @@ import java.util.Map;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.stream.Collector;
 
-import com.google.common.collect.ImmutableMap;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
@@ -45,33 +44,12 @@ import 
org.apache.qpid.server.query.engine.parsing.expression.accessor.MapObject
  */
 public class CollectorFactoryTest
 {
-    private final List<Map<String, Object>> _entities = Arrays.asList(
-        ImmutableMap.<String, Object>builder()
-            .put("age", 10)
-            .put("firstname", "Anna")
-            .put("lastname", "Abbot")
-            .build(),
-        ImmutableMap.<String, Object>builder()
-            .put("age", 20)
-            .put("firstname", "Bart")
-            .put("lastname", "Burton")
-            .build(),
-        ImmutableMap.<String, Object>builder()
-            .put("age", 30)
-            .put("firstname", "Emma")
-            .put("lastname", "Edwards")
-            .build(),
-        ImmutableMap.<String, Object>builder()
-            .put("age", 40)
-            .put("firstname", "Piter")
-            .put("lastname", "Parker")
-            .build(),
-        ImmutableMap.<String, Object>builder()
-            .put("age", 50)
-            .put("firstname", "Vincent")
-            .put("lastname", "Van Gogh")
-            .build()
-    );
+    private final List<Map<String, Object>> _entities = List.of(
+            Map.of("age", 10, "firstname", "Anna", "lastname", "Abbot"),
+            Map.of("age", 20, "firstname", "Bart", "lastname", "Burton"),
+            Map.of("age", 30, "firstname", "Emma", "lastname", "Edwards"),
+            Map.of("age", 40, "firstname", "Peter", "lastname", "Parker"),
+            Map.of("age", 50, "firstname", "Vincent", "lastname", "Van Gogh"));
 
     @BeforeEach()
     public void setUp()


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org
For additional commands, e-mail: commits-h...@qpid.apache.org

Reply via email to