This is an automated email from the ASF dual-hosted git repository.
robbie pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git
The following commit(s) were added to refs/heads/main by this push:
new 50a1824c02 ARTEMIS-4349: Replace Guava cache with Caffeine
50a1824c02 is described below
commit 50a1824c0298bae1407cfe328519a7450b399f69
Author: Alexey Markevich <[email protected]>
AuthorDate: Tue Aug 29 11:31:49 2023 +0100
ARTEMIS-4349: Replace Guava cache with Caffeine
Combination of changes from Alexey Markevich with updates from Robbie
Gemmell. See PRs for detail.
This closes #4584.
This closes #4540.
---
.../commands/tools/xml/XmlDataExporterUtil.java | 5 +-
artemis-features/src/main/resources/features.xml | 3 +-
.../artemis/core/protocol/mqtt/MQTTUtil.java | 4 +-
artemis-quorum-ri/pom.xml | 22 ++++
artemis-server/pom.xml | 16 +--
.../core/security/impl/SecurityStoreImpl.java | 26 +++--
.../core/server/routing/caches/LocalCache.java | 18 +--
pom.xml | 7 ++
.../integration/plugin/MethodCalledVerifier.java | 128 ++++++++++-----------
.../tests/smoke/jmx2/JmxServerControlTest.java | 5 +-
tests/unit-tests/pom.xml | 5 +
11 files changed, 133 insertions(+), 106 deletions(-)
diff --git
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/xml/XmlDataExporterUtil.java
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/xml/XmlDataExporterUtil.java
index 51fd3c4842..e918a88293 100644
---
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/xml/XmlDataExporterUtil.java
+++
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/xml/XmlDataExporterUtil.java
@@ -16,7 +16,8 @@
*/
package org.apache.activemq.artemis.cli.commands.tools.xml;
-import com.google.common.base.Preconditions;
+import java.util.Objects;
+
import org.apache.activemq.artemis.api.core.ActiveMQBuffer;
import org.apache.activemq.artemis.api.core.Message;
import org.apache.activemq.artemis.api.core.SimpleString;
@@ -89,7 +90,7 @@ public class XmlDataExporterUtil {
* Base64 encode a ServerMessage body into the proper XML format
*/
public static String encodeMessageBodyBase64(final Message message) throws
Exception {
- Preconditions.checkNotNull(message, "ServerMessage can not be null");
+ Objects.requireNonNull(message, "ServerMessage can not be null");
ActiveMQBuffer byteBuffer = message.toCore().getReadOnlyBodyBuffer();
byte[] buffer = new byte[byteBuffer.writerIndex()];
diff --git a/artemis-features/src/main/resources/features.xml
b/artemis-features/src/main/resources/features.xml
index 5ae4b60546..5c0004f261 100644
--- a/artemis-features/src/main/resources/features.xml
+++ b/artemis-features/src/main/resources/features.xml
@@ -73,8 +73,7 @@
<bundle
dependency="true">mvn:org.apache.commons/commons-lang3/${commons.lang.version}</bundle>
<bundle
dependency="true">mvn:org.jctools/jctools-core/${jctools.version}</bundle>
<bundle
dependency="true">mvn:org.hdrhistogram/HdrHistogram/${hdrhistogram.version}</bundle>
- <bundle
dependency="true">mvn:com.google.guava/failureaccess/1.0.1</bundle>
- <bundle
dependency="true">mvn:com.google.guava/guava/${guava.version}</bundle>
+ <bundle
dependency="true">mvn:com.github.ben-manes.caffeine/caffeine/${caffeine.version}</bundle>
<bundle
dependency="true">mvn:org.apache.commons/commons-dbcp2/${commons.dbcp2.version}</bundle>
<bundle
dependency="true">mvn:org.apache.commons/commons-pool2/${commons.pool2.version}</bundle>
<!-- Micrometer can't be included until it supports OSGi. It is
currently an "optional" Maven dependency. -->
diff --git
a/artemis-protocols/artemis-mqtt-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/mqtt/MQTTUtil.java
b/artemis-protocols/artemis-mqtt-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/mqtt/MQTTUtil.java
index 5ac19a0f0a..1f77de5c1b 100644
---
a/artemis-protocols/artemis-mqtt-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/mqtt/MQTTUtil.java
+++
b/artemis-protocols/artemis-mqtt-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/mqtt/MQTTUtil.java
@@ -20,7 +20,6 @@ import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
-import com.google.common.base.CaseFormat;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.ByteBufUtil;
import io.netty.handler.codec.EncoderException;
@@ -49,6 +48,7 @@ import org.apache.activemq.artemis.api.core.SimpleString;
import org.apache.activemq.artemis.core.config.WildcardConfiguration;
import org.apache.activemq.artemis.core.message.impl.CoreMessage;
import org.apache.activemq.artemis.reader.MessageUtil;
+import org.apache.commons.text.CaseUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.lang.invoke.MethodHandles;
@@ -382,7 +382,7 @@ public class MQTTUtil {
}
private static String formatCase(String string) {
- return CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, string);
+ return CaseUtils.toCamelCase(string, false, '_');
}
private static String getPayloadForLogging(MqttPublishMessage message, int
maxPayloadLogSize) {
diff --git a/artemis-quorum-ri/pom.xml b/artemis-quorum-ri/pom.xml
index 9b4126065b..1641294312 100644
--- a/artemis-quorum-ri/pom.xml
+++ b/artemis-quorum-ri/pom.xml
@@ -43,6 +43,28 @@
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-client</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>com.google.guava</groupId>
+ <artifactId>listenablefuture</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>com.google.code.findbugs</groupId>
+ <artifactId>jsr305</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.checkerframework</groupId>
+ <artifactId>checker-qual</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>com.google.errorprone</groupId>
+ <artifactId>error_prone_annotations</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>com.google.j2objc</groupId>
+ <artifactId>j2objc-annotations</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
diff --git a/artemis-server/pom.xml b/artemis-server/pom.xml
index 0c9bdd88c8..1520a66b96 100644
--- a/artemis-server/pom.xml
+++ b/artemis-server/pom.xml
@@ -51,17 +51,9 @@
<scope>test</scope>
</dependency>
<dependency>
- <groupId>com.google.guava</groupId>
- <artifactId>guava</artifactId>
+ <groupId>com.github.ben-manes.caffeine</groupId>
+ <artifactId>caffeine</artifactId>
<exclusions>
- <exclusion>
- <groupId>com.google.guava</groupId>
- <artifactId>listenablefuture</artifactId>
- </exclusion>
- <exclusion>
- <groupId>com.google.code.findbugs</groupId>
- <artifactId>jsr305</artifactId>
- </exclusion>
<exclusion>
<groupId>org.checkerframework</groupId>
<artifactId>checker-qual</artifactId>
@@ -70,10 +62,6 @@
<groupId>com.google.errorprone</groupId>
<artifactId>error_prone_annotations</artifactId>
</exclusion>
- <exclusion>
- <groupId>com.google.j2objc</groupId>
- <artifactId>j2objc-annotations</artifactId>
- </exclusion>
</exclusions>
</dependency>
<dependency>
diff --git
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/security/impl/SecurityStoreImpl.java
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/security/impl/SecurityStoreImpl.java
index 7e3e627100..201e521371 100644
---
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/security/impl/SecurityStoreImpl.java
+++
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/security/impl/SecurityStoreImpl.java
@@ -22,8 +22,6 @@ import java.security.AccessController;
import java.util.Set;
import java.util.concurrent.TimeUnit;
-import com.google.common.cache.Cache;
-import com.google.common.cache.CacheBuilder;
import org.apache.activemq.artemis.api.core.Pair;
import org.apache.activemq.artemis.api.core.SimpleString;
import org.apache.activemq.artemis.api.core.management.CoreNotificationType;
@@ -54,6 +52,10 @@ import
org.apache.activemq.artemis.utils.collections.ConcurrentHashSet;
import org.apache.activemq.artemis.utils.collections.TypedProperties;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+
+import com.github.benmanes.caffeine.cache.Cache;
+import com.github.benmanes.caffeine.cache.Caffeine;
+
import java.lang.invoke.MethodHandles;
/**
@@ -101,18 +103,18 @@ public class SecurityStoreImpl implements SecurityStore,
HierarchicalRepositoryC
if (authenticationCacheSize == 0) {
authenticationCache = null;
} else {
- authenticationCache = CacheBuilder.newBuilder()
-
.maximumSize(authenticationCacheSize)
-
.expireAfterWrite(invalidationInterval, TimeUnit.MILLISECONDS)
- .build();
+ authenticationCache = Caffeine.newBuilder()
+ .maximumSize(authenticationCacheSize)
+ .expireAfterWrite(invalidationInterval,
TimeUnit.MILLISECONDS)
+ .build();
}
if (authorizationCacheSize == 0) {
authorizationCache = null;
} else {
- authorizationCache = CacheBuilder.newBuilder()
- .maximumSize(authorizationCacheSize)
-
.expireAfterWrite(invalidationInterval, TimeUnit.MILLISECONDS)
- .build();
+ authorizationCache = Caffeine.newBuilder()
+ .maximumSize(authorizationCacheSize)
+ .expireAfterWrite(invalidationInterval,
TimeUnit.MILLISECONDS)
+ .build();
}
this.securityRepository.registerListener(this);
}
@@ -481,7 +483,7 @@ public class SecurityStoreImpl implements SecurityStore,
HierarchicalRepositoryC
if (authenticationCache == null) {
return 0;
} else {
- return authenticationCache.size();
+ return authenticationCache.estimatedSize();
}
}
@@ -489,7 +491,7 @@ public class SecurityStoreImpl implements SecurityStore,
HierarchicalRepositoryC
if (authorizationCache == null) {
return 0;
} else {
- return authorizationCache.size();
+ return authorizationCache.estimatedSize();
}
}
diff --git
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/routing/caches/LocalCache.java
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/routing/caches/LocalCache.java
index 1ecfaa36fb..7c465be49d 100644
---
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/routing/caches/LocalCache.java
+++
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/routing/caches/LocalCache.java
@@ -16,13 +16,15 @@
*/
package org.apache.activemq.artemis.core.server.routing.caches;
-import com.google.common.cache.CacheBuilder;
-import com.google.common.cache.RemovalListener;
-import com.google.common.cache.RemovalNotification;
import org.apache.activemq.artemis.core.persistence.StorageManager;
import
org.apache.activemq.artemis.core.persistence.config.PersistedKeyValuePair;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+
+import com.github.benmanes.caffeine.cache.Caffeine;
+import com.github.benmanes.caffeine.cache.RemovalCause;
+import com.github.benmanes.caffeine.cache.RemovalListener;
+
import java.lang.invoke.MethodHandles;
import java.util.Map;
@@ -37,7 +39,7 @@ public class LocalCache implements Cache,
RemovalListener<String, String> {
private boolean persisted;
private int timeout;
private StorageManager storageManager;
- private com.google.common.cache.Cache<String, String> cache;
+ private com.github.benmanes.caffeine.cache.Cache<String, String> cache;
private Map<String, PersistedKeyValuePair> persistedCacheEntries;
private volatile boolean running;
@@ -61,9 +63,9 @@ public class LocalCache implements Cache,
RemovalListener<String, String> {
this.storageManager = storageManager;
if (timeout == 0) {
- cache = CacheBuilder.newBuilder().build();
+ cache = Caffeine.newBuilder().executor(Runnable::run).build();
} else {
- cache =
CacheBuilder.newBuilder().removalListener(this).expireAfterAccess(timeout,
TimeUnit.MILLISECONDS).build();
+ cache =
Caffeine.newBuilder().removalListener(this).expireAfterAccess(timeout,
TimeUnit.MILLISECONDS).executor(Runnable::run).build();
}
}
@@ -123,9 +125,9 @@ public class LocalCache implements Cache,
RemovalListener<String, String> {
}
@Override
- public void onRemoval(RemovalNotification<String, String> notification) {
+ public void onRemoval(String key, String value, RemovalCause cause) {
if (running && persisted) {
- PersistedKeyValuePair persistedKeyValuePair =
persistedCacheEntries.remove(notification.getKey());
+ PersistedKeyValuePair persistedKeyValuePair =
persistedCacheEntries.remove(key);
if (persistedKeyValuePair != null) {
try {
diff --git a/pom.xml b/pom.xml
index eb322431e0..ced02b2d56 100644
--- a/pom.xml
+++ b/pom.xml
@@ -97,6 +97,7 @@
<commons.io.version>2.10.0</commons.io.version>
<commons.codec.version>1.15</commons.codec.version>
<fuse.mqtt.client.version>1.16</fuse.mqtt.client.version>
+ <caffeine.version>3.1.6</caffeine.version>
<guava.version>32.0.1-jre</guava.version>
<hawtio.version>2.15.0</hawtio.version>
<jsr305.version>3.0.2</jsr305.version>
@@ -943,6 +944,12 @@
<version>${guava.version}</version>
<!-- License: Apache 2.0 -->
</dependency>
+ <dependency>
+ <groupId>com.github.ben-manes.caffeine</groupId>
+ <artifactId>caffeine</artifactId>
+ <version>${caffeine.version}</version>
+ <!-- License: Apache 2.0 -->
+ </dependency>
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
diff --git
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/plugin/MethodCalledVerifier.java
b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/plugin/MethodCalledVerifier.java
index 449d0ff3ea..ac376cf37d 100644
---
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/plugin/MethodCalledVerifier.java
+++
b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/plugin/MethodCalledVerifier.java
@@ -19,10 +19,10 @@ package
org.apache.activemq.artemis.tests.integration.plugin;
import java.util.Arrays;
import java.util.EnumSet;
import java.util.Map;
+import java.util.Objects;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicInteger;
-import com.google.common.base.Preconditions;
import org.apache.activemq.artemis.api.core.ActiveMQException;
import org.apache.activemq.artemis.api.core.Message;
import org.apache.activemq.artemis.api.core.RoutingType;
@@ -122,13 +122,13 @@ public class MethodCalledVerifier implements
ActiveMQServerPlugin {
@Override
public void afterCreateConnection(RemotingConnection connection) {
- Preconditions.checkNotNull(connection);
+ Objects.requireNonNull(connection);
methodCalled(AFTER_CREATE_CONNECTION);
}
@Override
public void afterDestroyConnection(RemotingConnection connection) {
- Preconditions.checkNotNull(connection);
+ Objects.requireNonNull(connection);
methodCalled(AFTER_DESTROY_CONNECTION);
}
@@ -137,172 +137,172 @@ public class MethodCalledVerifier implements
ActiveMQServerPlugin {
boolean autoCommitSends, boolean
autoCommitAcks, boolean preAcknowledge, boolean xa,
String defaultAddress, SessionCallback
callback, boolean autoCreateQueues,
OperationContext context, Map<SimpleString,
RoutingType> prefixes) {
- Preconditions.checkNotNull(connection);
+ Objects.requireNonNull(connection);
methodCalled(BEFORE_CREATE_SESSION);
}
@Override
public void afterCreateSession(ServerSession session) {
- Preconditions.checkNotNull(session);
+ Objects.requireNonNull(session);
methodCalled(AFTER_CREATE_SESSION);
}
@Override
public void beforeCloseSession(ServerSession session, boolean failed) {
- Preconditions.checkNotNull(session);
+ Objects.requireNonNull(session);
methodCalled(BEFORE_CLOSE_SESSION);
}
@Override
public void afterCloseSession(ServerSession session, boolean failed) {
- Preconditions.checkNotNull(session);
+ Objects.requireNonNull(session);
methodCalled(AFTER_CLOSE_SESSION);
}
@Override
public void beforeSessionMetadataAdded(ServerSession session, String key,
String data) {
- Preconditions.checkNotNull(key);
+ Objects.requireNonNull(key);
methodCalled(BEFORE_SESSION_METADATA_ADDED);
}
@Override
public void afterSessionMetadataAdded(ServerSession session, String key,
String data) {
- Preconditions.checkNotNull(key);
+ Objects.requireNonNull(key);
methodCalled(AFTER_SESSION_METADATA_ADDED);
}
@Override
public void beforeCreateConsumer(long consumerID, QueueBinding
queueBinding, SimpleString filterString,
boolean browseOnly, boolean
supportLargeMessage) {
- Preconditions.checkNotNull(queueBinding);
+ Objects.requireNonNull(queueBinding);
methodCalled(BEFORE_CREATE_CONSUMER);
}
@Override
public void afterCreateConsumer(ServerConsumer consumer) {
- Preconditions.checkNotNull(consumer);
+ Objects.requireNonNull(consumer);
methodCalled(AFTER_CREATE_CONSUMER);
}
@Override
public void beforeCloseConsumer(ServerConsumer consumer, boolean failed) {
- Preconditions.checkNotNull(consumer);
+ Objects.requireNonNull(consumer);
methodCalled(BEFORE_CLOSE_CONSUMER);
}
@Override
public void afterCloseConsumer(ServerConsumer consumer, boolean failed) {
- Preconditions.checkNotNull(consumer);
+ Objects.requireNonNull(consumer);
methodCalled(AFTER_CLOSE_CONSUMER);
}
@Override
public void beforeAddAddress(AddressInfo addressInfo, boolean reload)
throws ActiveMQException {
- Preconditions.checkNotNull(addressInfo);
+ Objects.requireNonNull(addressInfo);
methodCalled(BEFORE_ADD_ADDRESS);
}
@Override
public void afterAddAddress(AddressInfo addressInfo, boolean reload) throws
ActiveMQException {
- Preconditions.checkNotNull(addressInfo);
+ Objects.requireNonNull(addressInfo);
methodCalled(AFTER_ADD_ADDRESS);
}
@Override
public void beforeUpdateAddress(SimpleString address, EnumSet<RoutingType>
routingTypes)
throws ActiveMQException {
- Preconditions.checkNotNull(address);
- Preconditions.checkNotNull(routingTypes);
+ Objects.requireNonNull(address);
+ Objects.requireNonNull(routingTypes);
methodCalled(BEFORE_UPDATE_ADDRESS);
}
@Override
public void afterUpdateAddress(AddressInfo addressInfo) throws
ActiveMQException {
- Preconditions.checkNotNull(addressInfo);
+ Objects.requireNonNull(addressInfo);
methodCalled(AFTER_UPDATE_ADDRESS);
}
@Override
public void beforeRemoveAddress(SimpleString address) throws
ActiveMQException {
- Preconditions.checkNotNull(address);
+ Objects.requireNonNull(address);
methodCalled(BEFORE_REMOVE_ADDRESS);
}
@Override
public void afterRemoveAddress(SimpleString address, AddressInfo
addressInfo) throws ActiveMQException {
- Preconditions.checkNotNull(address);
- Preconditions.checkNotNull(addressInfo);
+ Objects.requireNonNull(address);
+ Objects.requireNonNull(addressInfo);
methodCalled(AFTER_REMOVE_ADDRESS);
}
@Override
public void beforeCreateQueue(QueueConfig queueConfig) {
- Preconditions.checkNotNull(queueConfig);
+ Objects.requireNonNull(queueConfig);
methodCalled(BEFORE_CREATE_QUEUE);
}
@Override
public void afterCreateQueue(org.apache.activemq.artemis.core.server.Queue
queue) {
- Preconditions.checkNotNull(queue);
+ Objects.requireNonNull(queue);
methodCalled(AFTER_CREATE_QUEUE);
}
@Override
public void beforeDestroyQueue(Queue queue, SecurityAuth session, boolean
checkConsumerCount,
boolean removeConsumers, boolean autoDeleteAddress) {
- Preconditions.checkNotNull(queue);
+ Objects.requireNonNull(queue);
methodCalled(BEFORE_DESTROY_QUEUE);
}
@Override
public void afterDestroyQueue(Queue queue, SimpleString address,
SecurityAuth session, boolean checkConsumerCount,
boolean removeConsumers, boolean autoDeleteAddress) {
- Preconditions.checkNotNull(queue);
+ Objects.requireNonNull(queue);
methodCalled(AFTER_DESTROY_QUEUE);
}
@Override
public void beforeAddBinding(Binding binding) throws ActiveMQException {
- Preconditions.checkNotNull(binding);
+ Objects.requireNonNull(binding);
methodCalled(BEFORE_ADD_BINDING);
}
@Override
public void afterAddBinding(Binding binding) throws ActiveMQException {
- Preconditions.checkNotNull(binding);
+ Objects.requireNonNull(binding);
methodCalled(AFTER_ADD_BINDING);
}
@Override
public void beforeRemoveBinding(SimpleString uniqueName, Transaction tx,
boolean deleteData)
throws ActiveMQException {
- Preconditions.checkNotNull(uniqueName);
+ Objects.requireNonNull(uniqueName);
methodCalled(BEFORE_REMOVE_BINDING);
}
@Override
public void afterRemoveBinding(Binding binding, Transaction tx, boolean
deleteData) throws ActiveMQException {
- Preconditions.checkNotNull(binding);
+ Objects.requireNonNull(binding);
methodCalled(AFTER_REMOVE_BINDING);
}
@Override
public void messageExpired(MessageReference message, SimpleString
messageExpiryAddress, ServerConsumer consumer) {
- Preconditions.checkNotNull(message);
+ Objects.requireNonNull(message);
methodCalled(MESSAGE_EXPIRED);
}
@Override
public void messageAcknowledged(MessageReference ref, AckReason reason,
ServerConsumer consumer) {
- Preconditions.checkNotNull(ref);
- Preconditions.checkNotNull(reason);
+ Objects.requireNonNull(ref);
+ Objects.requireNonNull(reason);
methodCalled(MESSAGE_ACKED);
}
@Override
public void beforeSend(ServerSession session, Transaction tx, Message
message, boolean direct,
boolean noAutoCreateQueue) {
- Preconditions.checkNotNull(message);
+ Objects.requireNonNull(message);
methodCalled(BEFORE_SEND);
}
@@ -310,148 +310,148 @@ public class MethodCalledVerifier implements
ActiveMQServerPlugin {
public void afterSend(ServerSession session, Transaction tx, Message
message, boolean direct,
boolean noAutoCreateQueue,
RoutingStatus result) {
- Preconditions.checkNotNull(message);
- Preconditions.checkNotNull(result);
+ Objects.requireNonNull(message);
+ Objects.requireNonNull(result);
methodCalled(AFTER_SEND);
}
@Override
public void onSendException(ServerSession session, Transaction tx, Message
message, boolean direct,
boolean noAutoCreateQueue, Exception e) {
- Preconditions.checkNotNull(message);
- Preconditions.checkNotNull(e);
+ Objects.requireNonNull(message);
+ Objects.requireNonNull(e);
methodCalled(ON_SEND_EXCEPTION);
}
@Override
public void beforeMessageRoute(Message message, RoutingContext context,
boolean direct, boolean rejectDuplicates) {
- Preconditions.checkNotNull(message);
- Preconditions.checkNotNull(context);
+ Objects.requireNonNull(message);
+ Objects.requireNonNull(context);
methodCalled(BEFORE_MESSAGE_ROUTE);
}
@Override
public void afterMessageRoute(Message message, RoutingContext context,
boolean direct, boolean rejectDuplicates,
RoutingStatus result) {
- Preconditions.checkNotNull(message);
- Preconditions.checkNotNull(context);
- Preconditions.checkNotNull(result);
+ Objects.requireNonNull(message);
+ Objects.requireNonNull(context);
+ Objects.requireNonNull(result);
methodCalled(AFTER_MESSAGE_ROUTE);
}
@Override
public void onMessageRouteException(Message message, RoutingContext
context, boolean direct, boolean rejectDuplicates,
Exception e) {
- Preconditions.checkNotNull(message);
- Preconditions.checkNotNull(context);
- Preconditions.checkNotNull(e);
+ Objects.requireNonNull(message);
+ Objects.requireNonNull(context);
+ Objects.requireNonNull(e);
methodCalled(ON_MESSAGE_ROUTE_EXCEPTION);
}
@Override
public void beforeDeliver(ServerConsumer consumer, MessageReference
reference) {
- Preconditions.checkNotNull(reference);
+ Objects.requireNonNull(reference);
methodCalled(BEFORE_DELIVER);
}
@Override
public void afterDeliver(ServerConsumer consumer, MessageReference
reference) {
- Preconditions.checkNotNull(reference);
+ Objects.requireNonNull(reference);
methodCalled(AFTER_DELIVER);
}
@Override
public void beforeDeployBridge(BridgeConfiguration config) {
- Preconditions.checkNotNull(config);
+ Objects.requireNonNull(config);
methodCalled(BEFORE_DEPLOY_BRIDGE);
}
@Override
public void afterDeployBridge(Bridge bridge) {
- Preconditions.checkNotNull(bridge);
+ Objects.requireNonNull(bridge);
methodCalled(AFTER_DEPLOY_BRIDGE);
}
@Override
public void beforeDeliverBridge(Bridge bridge, MessageReference ref) throws
ActiveMQException {
- Preconditions.checkNotNull(bridge);
+ Objects.requireNonNull(bridge);
methodCalled(BEFORE_DELIVER_BRIDGE);
}
@Override
public void afterDeliverBridge(Bridge bridge, MessageReference ref,
HandleStatus status) throws ActiveMQException {
- Preconditions.checkNotNull(bridge);
+ Objects.requireNonNull(bridge);
methodCalled(AFTER_DELIVER_BRIDGE);
}
@Override
public void afterAcknowledgeBridge(Bridge bridge, MessageReference ref)
throws ActiveMQException {
- Preconditions.checkNotNull(bridge);
+ Objects.requireNonNull(bridge);
methodCalled(AFTER_ACKNOWLEDGE_BRIDGE);
}
@Override
public void federationStreamStarted(FederationStream stream) throws
ActiveMQException {
- Preconditions.checkNotNull(stream);
+ Objects.requireNonNull(stream);
methodCalled(FEDERATION_STREAM_STARTED);
}
@Override
public void federationStreamStopped(FederationStream stream) throws
ActiveMQException {
- Preconditions.checkNotNull(stream);
+ Objects.requireNonNull(stream);
methodCalled(FEDERATION_STREAM_STOPPED);
}
@Override
public void beforeCreateFederatedQueueConsumer(FederatedConsumerKey key)
throws ActiveMQException {
- Preconditions.checkNotNull(key);
+ Objects.requireNonNull(key);
methodCalled(BEFORE_CREATE_FEDERATED_QUEUE_CONSUMER);
}
@Override
public void afterCreateFederatedQueueConsumer(FederatedQueueConsumer
consumer) throws ActiveMQException {
- Preconditions.checkNotNull(consumer);
+ Objects.requireNonNull(consumer);
methodCalled(AFTER_CREATE_FEDERATED_QUEUE_CONSUMER);
}
@Override
public void beforeCloseFederatedQueueConsumer(FederatedQueueConsumer
consumer) throws ActiveMQException {
- Preconditions.checkNotNull(consumer);
+ Objects.requireNonNull(consumer);
methodCalled(BEFORE_CLOSE_FEDERATED_QUEUE_CONSUMER);
}
@Override
public void afterCloseFederatedQueueConsumer(FederatedQueueConsumer
consumer) throws ActiveMQException {
- Preconditions.checkNotNull(consumer);
+ Objects.requireNonNull(consumer);
methodCalled(AFTER_CLOSE_FEDERATED_QUEUE_CONSUMER);
}
@Override
public void
beforeFederatedQueueConsumerMessageHandled(FederatedQueueConsumer consumer,
Message message)
throws ActiveMQException {
- Preconditions.checkNotNull(consumer);
- Preconditions.checkNotNull(message);
+ Objects.requireNonNull(consumer);
+ Objects.requireNonNull(message);
methodCalled(BEFORE_FEDERATED_QUEUE_CONSUMER_MESSAGE_HANDLED);
}
@Override
public void
afterFederatedQueueConsumerMessageHandled(FederatedQueueConsumer consumer,
Message message)
throws ActiveMQException {
- Preconditions.checkNotNull(consumer);
- Preconditions.checkNotNull(message);
+ Objects.requireNonNull(consumer);
+ Objects.requireNonNull(message);
methodCalled(AFTER_FEDERATED_QUEUE_CONSUMER_MESSAGE_HANDLED);
}
@Override
public boolean federatedAddressConditionalCreateConsumer(Queue queue)
throws ActiveMQException {
- Preconditions.checkNotNull(queue);
+ Objects.requireNonNull(queue);
methodCalled(FEDERATED_ADDRESS_CONDITIONAL_CREATE_CONSUMER);
return true;
}
@Override
public boolean federatedQueueConditionalCreateConsumer(ServerConsumer
consumer) throws ActiveMQException {
- Preconditions.checkNotNull(consumer);
+ Objects.requireNonNull(consumer);
methodCalled(FEDERATED_QUEUE_CONDITIONAL_CREATE_CONSUMER);
return true;
}
diff --git
a/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/jmx2/JmxServerControlTest.java
b/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/jmx2/JmxServerControlTest.java
index 1e1cf5eed2..162cecbec8 100644
---
a/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/jmx2/JmxServerControlTest.java
+++
b/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/jmx2/JmxServerControlTest.java
@@ -16,6 +16,8 @@
*/
package org.apache.activemq.artemis.tests.smoke.jmx2;
+import java.util.Map;
+
import javax.jms.MessageConsumer;
import javax.jms.Session;
import org.apache.activemq.artemis.json.JsonArray;
@@ -26,7 +28,6 @@ import javax.management.remote.JMXConnector;
import javax.management.remote.JMXConnectorFactory;
import javax.management.remote.JMXServiceURL;
-import com.google.common.collect.ImmutableMap;
import org.apache.activemq.artemis.api.config.ActiveMQDefaultConfiguration;
import org.apache.activemq.artemis.api.core.JsonUtil;
import org.apache.activemq.artemis.api.core.QueueConfiguration;
@@ -91,7 +92,7 @@ public class JmxServerControlTest extends SmokeTestBase {
MessageConsumer consumer =
cf.createConnection().createSession(true,
Session.SESSION_TRANSACTED).createConsumer(new ActiveMQQueue(queueName));
try {
- String options =
JsonUtil.toJsonObject(ImmutableMap.of("field","queue", "operation", "EQUALS",
"value", queueName)).toString();
+ String options = JsonUtil.toJsonObject(Map.of("field","queue",
"operation", "EQUALS", "value", queueName)).toString();
String consumersAsJsonString =
activeMQServerControl.listConsumers(options, 1, 10);
JsonObject consumersAsJsonObject =
JsonUtil.readJsonObject(consumersAsJsonString);
diff --git a/tests/unit-tests/pom.xml b/tests/unit-tests/pom.xml
index 579a46cf59..450f850060 100644
--- a/tests/unit-tests/pom.xml
+++ b/tests/unit-tests/pom.xml
@@ -184,6 +184,11 @@
<artifactId>mockito-core</artifactId>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ <scope>test</scope>
+ </dependency>
<!-- The johnzon-core and json-api contents are repackaged in -commons,
However maven can still need them during tests, which run against