git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@608034 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Robert Davies 2008-01-02 08:16:25 +00:00
parent 409902c394
commit a0b3e3211e
1 changed files with 12 additions and 10 deletions

View File

@ -301,16 +301,18 @@ public class KahaTopicReferenceStore extends KahaReferenceStore implements Topic
String containerName = getSubscriptionContainerName(subscriberKey); String containerName = getSubscriptionContainerName(subscriberKey);
subscriberContainer.remove(subscriberKey); subscriberContainer.remove(subscriberKey);
TopicSubContainer container = subscriberMessages.remove(subscriberKey); TopicSubContainer container = subscriberMessages.remove(subscriberKey);
for (Iterator i = container.iterator(); i.hasNext();) { if (container != null) {
ConsumerMessageRef ref = (ConsumerMessageRef)i.next(); for (Iterator i = container.iterator(); i.hasNext();) {
if (ref != null) { ConsumerMessageRef ref = (ConsumerMessageRef)i.next();
TopicSubAck tsa = ackContainer.get(ref.getAckEntry()); if (ref != null) {
if (tsa != null) { TopicSubAck tsa = ackContainer.get(ref.getAckEntry());
if (tsa.decrementCount() <= 0) { if (tsa != null) {
ackContainer.remove(ref.getAckEntry()); if (tsa.decrementCount() <= 0) {
messageContainer.remove(tsa.getMessageEntry()); ackContainer.remove(ref.getAckEntry());
} else { messageContainer.remove(tsa.getMessageEntry());
ackContainer.update(ref.getAckEntry(), tsa); } else {
ackContainer.update(ref.getAckEntry(), tsa);
}
} }
} }
} }