This is an automated email from the ASF dual-hosted git repository.
rgodfrey 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 05686f837d QPID-8681 : Reduce lock contention on getting a single
statistic from a configured object
05686f837d is described below
commit 05686f837d204b0d2b8796ef1c58ab425eb96e13
Author: rgodfrey <[email protected]>
AuthorDate: Mon Jan 27 19:48:57 2025 +0100
QPID-8681 : Reduce lock contention on getting a single statistic from a
configured object
---
.../servlet/query/ConfiguredObjectExpressionFactory.java | 15 ++++-----------
1 file changed, 4 insertions(+), 11 deletions(-)
diff --git
a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/query/ConfiguredObjectExpressionFactory.java
b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/query/ConfiguredObjectExpressionFactory.java
index 53e2df2c68..4177522484 100644
---
a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/query/ConfiguredObjectExpressionFactory.java
+++
b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/query/ConfiguredObjectExpressionFactory.java
@@ -31,16 +31,7 @@ import java.time.format.DateTimeFormatterBuilder;
import java.time.format.DateTimeParseException;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalAccessor;
-import java.util.Arrays;
-import java.util.Calendar;
-import java.util.Collection;
-import java.util.Date;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.TimeZone;
+import java.util.*;
import javax.xml.datatype.DatatypeConfigurationException;
import javax.xml.datatype.DatatypeFactory;
@@ -293,10 +284,12 @@ public class ConfiguredObjectExpressionFactory
{
private final String _propertyName;
+ private final List<String> _propertyNameAsList;
public ConfiguredObjectPropertyExpression(final String propertyName)
{
_propertyName = propertyName;
+ _propertyNameAsList = Collections.singletonList(propertyName);
}
@Override
@@ -323,7 +316,7 @@ public class ConfiguredObjectExpressionFactory
{
return object.getAttributeNames().contains(_propertyName)
? object.getAttribute(_propertyName)
- : object.getStatistics().get(_propertyName);
+ :
object.getStatistics(_propertyNameAsList).get(_propertyName);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]