Author: rgodfrey
Date: Fri Jul 24 15:49:26 2015
New Revision: 1692545
URL: http://svn.apache.org/r1692545
Log:
QPID-6525 : Consumers map is never cleared of closed consumers - also should
not be a map
Modified:
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractSystemMessageSource.java
Modified:
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractSystemMessageSource.java
URL:
http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractSystemMessageSource.java?rev=1692545&r1=1692544&r2=1692545&view=diff
==============================================================================
---
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractSystemMessageSource.java
(original)
+++
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractSystemMessageSource.java
Fri Jul 24 15:49:26 2015
@@ -57,7 +57,7 @@ public abstract class AbstractSystemMess
private final CopyOnWriteArrayList<ConsumerRegistrationListener<? super
MessageSource>>
_consumerRegistrationListeners =
new CopyOnWriteArrayList<>();
- private Map<String, Consumer> _consumers = new ConcurrentHashMap<>();
+ private List<Consumer> _consumers = new CopyOnWriteArrayList<>();
public AbstractSystemMessageSource(
String name, final VirtualHostImpl virtualHost)
@@ -97,7 +97,7 @@ public abstract class AbstractSystemMess
{
final Consumer consumer = new Consumer(consumerName, target);
target.consumerAdded(consumer);
- _consumers.put(consumerName, consumer);
+ _consumers.add(consumer);
for (ConsumerRegistrationListener<? super MessageSource> listener :
_consumerRegistrationListeners)
{
listener.consumerAdded(this, consumer);
@@ -108,7 +108,7 @@ public abstract class AbstractSystemMess
@Override
public Collection<Consumer> getConsumers()
{
- return new ArrayList<>(_consumers.values());
+ return new ArrayList<>(_consumers);
}
@Override
@@ -229,7 +229,7 @@ public abstract class AbstractSystemMess
@Override
public void close()
{
-
+ _consumers.remove(this);
}
@Override
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]