You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by cl...@apache.org on 2021/08/03 13:53:39 UTC
[activemq-artemis] branch main updated: ARTEMIS-3404 - expose max
retry interval on bridge mbean
This is an automated email from the ASF dual-hosted git repository.
clebertsuconic 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 c358688 ARTEMIS-3404 - expose max retry interval on bridge mbean
new b15bd46 This closes #3675
c358688 is described below
commit c358688fd656c362e52ebf13af803c71f2b3b625
Author: Andy Taylor <an...@gmail.com>
AuthorDate: Tue Jul 27 11:56:27 2021 +0100
ARTEMIS-3404 - expose max retry interval on bridge mbean
https://issues.apache.org/jira/browse/ARTEMIS-3404
---
.../java/org/apache/activemq/artemis/logs/AuditLogger.java | 8 ++++++++
.../activemq/artemis/api/core/management/BridgeControl.java | 6 ++++++
.../artemis/core/management/impl/BridgeControlImpl.java | 13 +++++++++++++
.../tests/integration/management/BridgeControlTest.java | 1 +
.../integration/management/BridgeControlUsingCoreTest.java | 1 +
5 files changed, 29 insertions(+)
diff --git a/artemis-commons/src/main/java/org/apache/activemq/artemis/logs/AuditLogger.java b/artemis-commons/src/main/java/org/apache/activemq/artemis/logs/AuditLogger.java
index 94a879c..ff9c780 100644
--- a/artemis-commons/src/main/java/org/apache/activemq/artemis/logs/AuditLogger.java
+++ b/artemis-commons/src/main/java/org/apache/activemq/artemis/logs/AuditLogger.java
@@ -2843,4 +2843,12 @@ public interface AuditLogger extends BasicLogger {
@LogMessage(level = Logger.Level.INFO)
@Message(id = 601747, value = "User {0} is getting auto-created property on target resource: {1} {2}", format = Message.Format.MESSAGE_FORMAT)
void isAutoCreated(String user, Object source, Object... args);
+
+ static void getMaxRetryInterval(Object source) {
+ BASE_LOGGER.getMaxRetryInterval(getCaller(), source);
+ }
+
+ @LogMessage(level = Logger.Level.INFO)
+ @Message(id = 601748, value = "User {0} is getting max retry interval on target resource: {1} {2}", format = Message.Format.MESSAGE_FORMAT)
+ void getMaxRetryInterval(String user, Object source, Object... args);
}
diff --git a/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/BridgeControl.java b/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/BridgeControl.java
index 9dd7dc8..cbe741c 100644
--- a/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/BridgeControl.java
+++ b/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/BridgeControl.java
@@ -90,6 +90,12 @@ public interface BridgeControl extends ActiveMQComponentControl {
double getRetryIntervalMultiplier();
/**
+ * Returns the max retry interval used by this bridge.
+ */
+ @Attribute(desc = "max retry interval used by this bridge")
+ long getMaxRetryInterval();
+
+ /**
* Returns the number of reconnection attempts used by this bridge.
*/
@Attribute(desc = "number of reconnection attempts used by this bridge")
diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/BridgeControlImpl.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/BridgeControlImpl.java
index b062246..c09d5d5 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/BridgeControlImpl.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/BridgeControlImpl.java
@@ -172,6 +172,19 @@ public class BridgeControlImpl extends AbstractControl implements BridgeControl
}
@Override
+ public long getMaxRetryInterval() {
+ if (AuditLogger.isBaseLoggingEnabled()) {
+ AuditLogger.getMaxRetryInterval(this.bridge);
+ }
+ clearIO();
+ try {
+ return configuration.getMaxRetryInterval();
+ } finally {
+ blockOnIO();
+ }
+ }
+
+ @Override
public String getTransformerClassName() {
if (AuditLogger.isBaseLoggingEnabled()) {
AuditLogger.getTransformerClassName(this.bridge);
diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/BridgeControlTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/BridgeControlTest.java
index 7c50984..b59fda9 100644
--- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/BridgeControlTest.java
+++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/BridgeControlTest.java
@@ -63,6 +63,7 @@ public class BridgeControlTest extends ManagementTestBase {
Assert.assertEquals(bridgeConfig.getFilterString(), bridgeControl.getFilterString());
Assert.assertEquals(bridgeConfig.getRetryInterval(), bridgeControl.getRetryInterval());
Assert.assertEquals(bridgeConfig.getRetryIntervalMultiplier(), bridgeControl.getRetryIntervalMultiplier(), 0.000001);
+ Assert.assertEquals(bridgeConfig.getMaxRetryInterval(), bridgeControl.getMaxRetryInterval());
Assert.assertEquals(bridgeConfig.getReconnectAttempts(), bridgeControl.getReconnectAttempts());
Assert.assertEquals(bridgeConfig.isUseDuplicateDetection(), bridgeControl.isUseDuplicateDetection());
Map<String, Object> bridgeMetrics = bridgeControl.getMetrics();
diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/BridgeControlUsingCoreTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/BridgeControlUsingCoreTest.java
index 76edbde..7059a55 100644
--- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/BridgeControlUsingCoreTest.java
+++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/BridgeControlUsingCoreTest.java
@@ -67,6 +67,7 @@ public class BridgeControlUsingCoreTest extends ManagementTestBase {
Assert.assertEquals(bridgeConfig.getFilterString(), proxy.retrieveAttributeValue("filterString"));
Assert.assertEquals(bridgeConfig.getRetryInterval(), proxy.retrieveAttributeValue("retryInterval", Long.class));
Assert.assertEquals(bridgeConfig.getRetryIntervalMultiplier(), proxy.retrieveAttributeValue("retryIntervalMultiplier", Double.class));
+ Assert.assertEquals(bridgeConfig.getMaxRetryInterval(), proxy.retrieveAttributeValue("maxRetryInterval", Long.class));
Assert.assertEquals(bridgeConfig.getReconnectAttempts(), proxy.retrieveAttributeValue("reconnectAttempts", Integer.class));
Assert.assertEquals(bridgeConfig.isUseDuplicateDetection(), proxy.retrieveAttributeValue("useDuplicateDetection", Boolean.class));