@Override public synchronized MessageReference removeReferenceWithID(final long id1) throws Exception { try (LinkedListIterator<MessageReference> iterator = iterator()) { MessageReference removed = null; while (iterator.hasNext()) { MessageReference ref = iterator.next(); if (ref.getMessage().getMessageID() == id1) { iterator.remove(); refRemoved(ref); removed = ref; break; } } if (removed == null) { // Look in scheduled deliveries removed = scheduledDeliveryHandler.removeReferenceWithID(id1); } return removed; } }
@Override public void close() { synchronized (QueueImpl.this) { iter.close(); } }
@Override public void repeat() { synchronized (QueueImpl.this) { iter.repeat(); } }
@Override public synchronized MessageReference getReference(final long id1) throws ActiveMQException { try (LinkedListIterator<MessageReference> iterator = iterator()) { while (iterator.hasNext()) { MessageReference ref = iterator.next(); if (ref.getMessage().getMessageID() == id1) { return ref; } } return null; } }
memoryIterator.remove(); return true; memoryIterator = queue.iterator(); while (memoryIterator.hasNext()) { lastRef = memoryIterator.next(); memoryIterator.remove(); lastRef = null; return true; } else { if (initialRef.equals(lastRef)) { if (!memoryIterator.hasNext()) { memoryIterator.close(); memoryIterator = null; memoryIterator.close(); memoryIterator = null;
assertTrue(iter1.hasNext()); assertEquals(0, iter1.next().intValue()); assertTrue(iter2.hasNext()); assertEquals(0, iter2.next().intValue()); iter2.remove(); iter1.repeat(); assertTrue(iter1.hasNext()); assertEquals(1, iter1.next().intValue()); iter1.next(); iter1.next(); iter1.next(); iter1.next(); iter1.next(); iter1.next(); iter1.next(); iter1.next(); assertEquals(9, iter1.next().intValue()); iter2.next(); iter2.next(); iter2.next(); iter2.next(); iter2.next(); iter2.next();
assertTrue(iter.hasNext()); assertEquals(0, iter.next().intValue()); iter.repeat(); assertTrue(iter.hasNext()); assertEquals(0, iter.next().intValue()); iter.next(); iter.next(); iter.next(); iter.hasNext(); assertEquals(4, iter.next().intValue()); iter.repeat(); assertTrue(iter.hasNext()); assertEquals(4, iter.next().intValue()); iter.next(); iter.next(); iter.next(); iter.next(); assertEquals(9, iter.next().intValue()); assertFalse(iter.hasNext()); iter.repeat(); assertTrue(iter.hasNext()); assertEquals(9, iter.next().intValue()); assertFalse(iter.hasNext());
@Override public boolean hasNext() { synchronized (QueueImpl.this) { return iter.hasNext(); } }
@Override public MessageReference next() { synchronized (QueueImpl.this) { return iter.next(); } }
@Override public void remove() { synchronized (QueueImpl.this) { iter.remove(); } } }
/** * checks that there are no message duplicates in the page. Any IDs found in the ignoreIds field will not be tested * this allows us to test only those messages that have been sent after the address has started paging (ignoring any * duplicates that may have happened before this point). */ protected int processCountThroughIterator(Queue queue) throws Exception { LinkedListIterator<MessageReference> pageIterator = queue.browserIterator(); int count = 0; while (pageIterator.hasNext()) { MessageReference reference = pageIterator.next(); count++; } return count; } }
while (postOffice.isStarted() && iter.hasNext()) { hasElements = true; MessageReference ref = iter.next(); if (ref.getMessage().isExpired()) { incDelivering(ref); expired = true; expiredMessages.add(ref); iter.remove(); iter.close(); } catch (Throwable ignored) { if ((!hasElements || expired) && pageIterator != null && pageIterator.hasNext()) { scheduleDepage(true);
public boolean isBrowsed() { messageQueue.deliverAsync(); boolean b = !iterator.hasNext(); return b; } }
/** * @param iter */ private void assertNoSuchElementIsThrown(LinkedListIterator<Integer> iter) { try { iter.next(); fail("Should throw NoSuchElementException"); } catch (NoSuchElementException e) { // OK } }
protected void removeMessageReference(ConsumerHolder<? extends Consumer> holder, MessageReference ref) { if (!nonDestructive) { holder.iter.remove(); refRemoved(ref); } }
@Override public synchronized boolean sendMessageToDeadLetterAddress(final long messageID) throws Exception { try (LinkedListIterator<MessageReference> iter = iterator()) { while (iter.hasNext()) { MessageReference ref = iter.next(); if (ref.getMessage().getMessageID() == messageID) { incDelivering(ref); sendToDeadLetterAddress(null, ref); iter.remove(); refRemoved(ref); return true; } } return false; } }
if (messagesIterator != null && messagesIterator.hasNext()) { MessageReference msg = messagesIterator.next(); if (msg.isPaged()) { previouslyBrowsed.add(((PagedReference) msg).getPosition()); while (getPagingIterator().hasNext()) { lastIterator = getPagingIterator(); PagedReference ref = getPagingIterator().next(); if (previouslyBrowsed.contains(ref.getPosition())) { continue;