You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kw...@apache.org on 2016/12/23 11:56:49 UTC
svn commit: r1775818 - in
/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server:
model/Queue.java queue/AbstractQueue.java
Author: kwall
Date: Fri Dec 23 11:56:49 2016
New Revision: 1775818
URL: http://svn.apache.org/viewvc?rev=1775818&view=rev
Log:
QPID-6028 : Queue caches binding count
Modified:
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Queue.java
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java
Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Queue.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Queue.java?rev=1775818&r1=1775817&r2=1775818&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Queue.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/model/Queue.java Fri Dec 23 11:56:49 2016
@@ -258,7 +258,6 @@ public interface Queue<X extends Queue<X
+ "visible may depend on how frequently the virtual host housekeeping thread runs.")
boolean isHoldOnPublishEnabled();
- //children
@ManagedOperation(nonModifying = true, changesConfiguredObjectState = false)
Collection<Binding> getBindings();
Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java?rev=1775818&r1=1775817&r2=1775818&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java Fri Dec 23 11:56:49 2016
@@ -271,6 +271,7 @@ public abstract class AbstractQueue<X ex
private final List<HoldMethod> _holdMethods = new CopyOnWriteArrayList<>();
private Map<String, String> _mimeTypeToFileExtension = Collections.emptyMap();
private AdvanceConsumersTask _queueHouseKeepingTask;
+ private volatile int _bindingCount;
private interface HoldMethod
{
@@ -1044,9 +1045,10 @@ public abstract class AbstractQueue<X ex
return bindings;
}
+ @Override
public int getBindingCount()
{
- return getBindings().size();
+ return _bindingCount;
}
public LogSubject getLogSubject()
@@ -3397,11 +3399,13 @@ public abstract class AbstractQueue<X ex
@Override
public void linkAdded(final MessageSender sender, final String linkName)
{
+
Integer oldValue = _linkedSenders.putIfAbsent(sender, 1);
if(oldValue != null)
{
_linkedSenders.put(sender, oldValue+1);
}
+ _bindingCount++;
}
@Override
@@ -3412,5 +3416,6 @@ public abstract class AbstractQueue<X ex
{
_linkedSenders.put(sender, oldValue-1);
}
+ _bindingCount--;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org