You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@artemis.apache.org by cl...@apache.org on 2026/02/27 22:48:46 UTC
(artemis) 02/02: ARTEMIS-5376 Using iterQueue on deleteReferences
This is an automated email from the ASF dual-hosted git repository.
clebertsuconic pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/artemis.git
commit e9dbc111f0c7ff4ce8941cb18bcae5edb07ae43a
Author: Clebert Suconic <cl...@apache.org>
AuthorDate: Fri Feb 27 15:54:31 2026 -0500
ARTEMIS-5376 Using iterQueue on deleteReferences
---
.../artemis/core/server/impl/QueueImpl.java | 33 +++++-----------------
1 file changed, 7 insertions(+), 26 deletions(-)
diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java
index 944992df0e..c9e48f3b32 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java
@@ -2225,33 +2225,14 @@ public class QueueImpl extends CriticalComponentImpl implements Queue {
@Override
public synchronized boolean deleteReference(final long messageID) throws Exception {
- boolean deleted = false;
-
- Transaction tx = new TransactionImpl(storageManager);
-
- try (LinkedListIterator<MessageReference> iter = iterator()) {
-
- while (iter.hasNext()) {
- MessageReference ref = iter.next();
- if (ref.getMessage().getMessageID() == messageID) {
- incDelivering(ref);
- acknowledge(tx, ref);
- iter.remove();
- refRemoved(ref);
- deleted = true;
- break;
- }
- }
-
- if (!deleted) {
- // Look in scheduled deliveries
- deleted = scheduledDeliveryHandler.removeReferenceWithID(messageID, tx) != null ? true : false;
+ return iterQueue("deleteReference", DEFAULT_FLUSH_LIMIT, null, new QueueIterateAction(messageID) {
+ @Override
+ public boolean actMessage(Transaction tx, MessageReference ref) throws Exception {
+ incDelivering(ref);
+ acknowledge(tx, ref);
+ return true;
}
-
- tx.commit();
-
- return deleted;
- }
+ }) == 1;
}
@Override
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@artemis.apache.org
For additional commands, e-mail: commits-help@artemis.apache.org