This is an automated email from the ASF dual-hosted git repository.
cshannon pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/activemq.git
The following commit(s) were added to refs/heads/main by this push:
new 45cd176317 AMQ-9719 Use StringJoiner for logging (#1445)
45cd176317 is described below
commit 45cd176317f597517420f699828d13dace203492
Author: Dmitry Kryukov <[email protected]>
AuthorDate: Fri Jun 6 14:32:54 2025 +0300
AMQ-9719 Use StringJoiner for logging (#1445)
Improves logging by using StringJoiner conditionally when debug is enabled
---
.../broker/region/policy/PriorityDispatchPolicy.java | 18 +++++++++++++-----
.../org/apache/activemq/filter/XPathExpression.java | 12 ++++++------
2 files changed, 19 insertions(+), 11 deletions(-)
diff --git
a/activemq-broker/src/main/java/org/apache/activemq/broker/region/policy/PriorityDispatchPolicy.java
b/activemq-broker/src/main/java/org/apache/activemq/broker/region/policy/PriorityDispatchPolicy.java
index 63511211b7..7eb2bcd053 100644
---
a/activemq-broker/src/main/java/org/apache/activemq/broker/region/policy/PriorityDispatchPolicy.java
+++
b/activemq-broker/src/main/java/org/apache/activemq/broker/region/policy/PriorityDispatchPolicy.java
@@ -20,9 +20,14 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
+import java.util.StringJoiner;
+
import org.apache.activemq.broker.region.MessageReference;
import org.apache.activemq.broker.region.Subscription;
import org.apache.activemq.filter.MessageEvaluationContext;
+import org.apache.activemq.filter.XPathExpression;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Priority dispatch policy that sends a message to every subscription that
@@ -33,6 +38,8 @@ import org.apache.activemq.filter.MessageEvaluationContext;
*/
public class PriorityDispatchPolicy extends SimpleDispatchPolicy {
+ private static final Logger LOG =
LoggerFactory.getLogger(PriorityDispatchPolicy.class);
+
private final Comparator<? super Subscription> orderedCompare = new
Comparator<Subscription>() {
@Override
public int compare(Subscription o1, Subscription o2) {
@@ -46,12 +53,13 @@ public class PriorityDispatchPolicy extends
SimpleDispatchPolicy {
ArrayList<Subscription> ordered = new
ArrayList<Subscription>(consumers);
Collections.sort(ordered, orderedCompare);
- StringBuffer stringBuffer = new StringBuffer();
- for (Subscription sub: ordered) {
- stringBuffer.append(sub.getConsumerInfo().getPriority());
- stringBuffer.append(',');
+ if (LOG.isDebugEnabled() && ordered.size() > 0) {
+ StringJoiner stringJoiner = new StringJoiner(",");
+ for (Subscription sub : ordered) {
+
stringJoiner.add(String.valueOf(sub.getConsumerInfo().getPriority()));
+ }
+ LOG.debug("Ordered priorities: {}", stringJoiner);
}
- //System.err.println("Priority:" + stringBuffer.toString() + ", msg: "
+ node.getMessage());
return super.dispatch(node, msgContext, ordered);
}
diff --git
a/activemq-client/src/main/java/org/apache/activemq/filter/XPathExpression.java
b/activemq-client/src/main/java/org/apache/activemq/filter/XPathExpression.java
index e8c8be8848..9dca2cc7b0 100644
---
a/activemq-client/src/main/java/org/apache/activemq/filter/XPathExpression.java
+++
b/activemq-client/src/main/java/org/apache/activemq/filter/XPathExpression.java
@@ -23,6 +23,7 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Properties;
+import java.util.StringJoiner;
import jakarta.jms.JMSException;
import javax.xml.XMLConstants;
@@ -120,15 +121,14 @@ public final class XPathExpression implements
BooleanExpression {
}
}
}
- if (features.size() > 0) {
- StringBuilder featureString = new StringBuilder();
+
+ if (LOG.isDebugEnabled() && features.size() > 0) {
+ StringJoiner featureString = new StringJoiner(", ");
// just log the configured feature
for (String feature : features) {
- if (featureString.length() != 0) {
- featureString.append(", ");
- }
- featureString.append(feature);
+ featureString.add(feature);
}
+ LOG.debug("Configured features {}", featureString);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact