You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by cl...@apache.org on 2018/08/02 14:31:56 UTC
[4/5] activemq-artemis git commit: ARTEMIS-856 Fixing
MessageRedistributionTest
ARTEMIS-856 Fixing MessageRedistributionTest
Cleaner code.
Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/de465179
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/de465179
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/de465179
Branch: refs/heads/master
Commit: de465179e5b0eecc87e6865250e771ce1f603e1b
Parents: ddd554f
Author: Michael André Pearce <mi...@me.com>
Authored: Thu Aug 2 14:04:59 2018 +0100
Committer: Michael André Pearce <mi...@me.com>
Committed: Thu Aug 2 14:20:03 2018 +0100
----------------------------------------------------------------------
.../activemq/artemis/core/server/impl/QueueImpl.java | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/de465179/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java
----------------------------------------------------------------------
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 09ff210..1f0c7af 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
@@ -2375,7 +2375,7 @@ public class QueueImpl extends CriticalComponentImpl implements Queue {
MessageReference ref;
Consumer handledconsumer = null;
- SimpleString groupID;
+
synchronized (this) {
// Need to do these checks inside the synchronized
@@ -2442,7 +2442,7 @@ public class QueueImpl extends CriticalComponentImpl implements Queue {
// If a group id is set, then this overrides the consumer chosen round-robin
- groupID = extractGroupID(ref);
+ SimpleString groupID = extractGroupID(ref);
if (groupID != null) {
groupConsumer = groups.get(groupID);
@@ -2490,10 +2490,15 @@ public class QueueImpl extends CriticalComponentImpl implements Queue {
}
}
- if (pos == endPos || (redistributor != null || groupConsumer != null || exclusive)) {
+ if (redistributor != null || groupConsumer != null || exclusive) {
+ if (noDelivery > 0) {
+ break;
+ }
+ noDelivery = 0;
+ } else if (pos == endPos) {
// Round robin'd all
- if (noDelivery == size && redistributor == null || ((redistributor != null || groupConsumer != null || exclusive) && noDelivery > 0)) {
+ if (noDelivery == size) {
if (handledconsumer != null) {
// this shouldn't really happen,
// however I'm keeping this as an assertion case future developers ever change the logic here on this class