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


Reply via email to