You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by or...@apache.org on 2018/07/05 13:54:00 UTC

qpid-broker-j git commit: QPID-8216: [Broker-J] Restore reporting of pperational log message CHN-1011 about moving message to dead letter queue

Repository: qpid-broker-j
Updated Branches:
  refs/heads/7.0.x ed080de9d -> b3ca3855e


QPID-8216: [Broker-J] Restore reporting of pperational log message CHN-1011 about moving message to dead letter queue

(cherry picked from commit 38d5844e5df591e8a2850f6e302763a764cc50c8)


Project: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/commit/b3ca3855
Tree: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/tree/b3ca3855
Diff: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/diff/b3ca3855

Branch: refs/heads/7.0.x
Commit: b3ca3855e70fc499634b0de4ccc4424214120776
Parents: ed080de
Author: Alex Rudyy <or...@apache.org>
Authored: Thu Jul 5 14:13:58 2018 +0100
Committer: Alex Rudyy <or...@apache.org>
Committed: Thu Jul 5 14:19:41 2018 +0100

----------------------------------------------------------------------
 .../qpid/server/queue/QueueEntryImpl.java       |  2 +-
 .../server/queue/QueueEntryImplTestBase.java    | 33 +++++++++++++++-----
 2 files changed, 27 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/b3ca3855/broker-core/src/main/java/org/apache/qpid/server/queue/QueueEntryImpl.java
----------------------------------------------------------------------
diff --git a/broker-core/src/main/java/org/apache/qpid/server/queue/QueueEntryImpl.java b/broker-core/src/main/java/org/apache/qpid/server/queue/QueueEntryImpl.java
index aed7cfe..51cee72 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/queue/QueueEntryImpl.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/queue/QueueEntryImpl.java
@@ -615,7 +615,7 @@ public abstract class QueueEntryImpl implements QueueEntry
 
             }
         });
-        int enqueues = result.send(txn, null);
+        int enqueues = result.send(txn, action);
 
         if(autocommit)
         {

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/b3ca3855/broker-core/src/test/java/org/apache/qpid/server/queue/QueueEntryImplTestBase.java
----------------------------------------------------------------------
diff --git a/broker-core/src/test/java/org/apache/qpid/server/queue/QueueEntryImplTestBase.java b/broker-core/src/test/java/org/apache/qpid/server/queue/QueueEntryImplTestBase.java
index 35c8c46..9912094 100644
--- a/broker-core/src/test/java/org/apache/qpid/server/queue/QueueEntryImplTestBase.java
+++ b/broker-core/src/test/java/org/apache/qpid/server/queue/QueueEntryImplTestBase.java
@@ -27,26 +27,22 @@ import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import java.lang.reflect.Field;
-import java.security.Principal;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.UUID;
 
-import org.apache.qpid.server.configuration.updater.CurrentThreadTaskExecutor;
-import org.apache.qpid.server.configuration.updater.TaskExecutor;
-import org.apache.qpid.server.logging.EventLogger;
 import org.apache.qpid.server.message.MessageInstance;
 import org.apache.qpid.server.message.MessageInstance.EntryState;
 import org.apache.qpid.server.message.MessageInstance.StealableConsumerAcquiredState;
 import org.apache.qpid.server.message.MessageInstance.UnstealableConsumerAcquiredState;
 import org.apache.qpid.server.message.MessageReference;
 import org.apache.qpid.server.message.ServerMessage;
-import org.apache.qpid.server.model.BrokerModel;
+import org.apache.qpid.server.model.AlternateBinding;
 import org.apache.qpid.server.model.BrokerTestHelper;
-import org.apache.qpid.server.model.ConfiguredObjectFactory;
-import org.apache.qpid.server.model.ConfiguredObjectFactoryImpl;
 import org.apache.qpid.server.model.Queue;
 import org.apache.qpid.server.store.TransactionLogResource;
+import org.apache.qpid.server.util.Action;
 import org.apache.qpid.server.util.StateChangeListener;
 import org.apache.qpid.server.virtualhost.QueueManagingVirtualHost;
 import org.apache.qpid.test.utils.QpidTestCase;
@@ -337,4 +333,27 @@ public abstract class QueueEntryImplTestBase extends QpidTestCase
         next = next.getNextValidEntry();
         assertNull("The next entry after the last should be null", next);
     }
+
+    public void testRouteToAlternateInvokesAction()
+    {
+        String dlqName = "dlq";
+        Map<String, Object> dlqAttributes = new HashMap<>();
+        dlqAttributes.put(Queue.ID, UUID.randomUUID());
+        dlqAttributes.put(Queue.NAME, dlqName);
+        Queue<?> dlq = (Queue<?>) _queueEntry.getQueue().getVirtualHost().createChild(Queue.class, dlqAttributes);
+
+        final AlternateBinding alternateBinding = mock(AlternateBinding.class);
+        when(alternateBinding.getDestination()).thenReturn(dlqName);
+        _queueEntry.getQueue().setAttributes(Collections.singletonMap(Queue.ALTERNATE_BINDING, alternateBinding));
+
+        final Action<? super MessageInstance> action = mock(Action.class);
+        when(_queueEntry.getMessage().isResourceAcceptable(dlq)).thenReturn(true);
+        _queueEntry.acquire();
+        int enqueues = _queueEntry.routeToAlternate(action, null);
+
+        assertEquals("Unexpected number of enqueues", 1, enqueues);
+        verify(action).performAction(any());
+
+        assertEquals("Unexpected number of messages on DLQ", 1, dlq.getQueueDepthMessages());
+    }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org