You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2016/11/16 17:15:17 UTC
svn commit: r1770019 - in /qpid/java/trunk/broker-core/src:
main/java/org/apache/qpid/server/consumer/
main/java/org/apache/qpid/server/queue/
main/java/org/apache/qpid/server/virtualhost/
test/java/org/apache/qpid/server/consumer/ test/java/org/apache...
Author: rgodfrey
Date: Wed Nov 16 17:15:17 2016
New Revision: 1770019
URL: http://svn.apache.org/viewvc?rev=1770019&view=rev
Log:
QPID-7514 : Reduce duplicate method calls
Modified:
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/consumer/AbstractConsumerTarget.java
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/QueueConsumerImpl.java
qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractSystemMessageSource.java
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/consumer/TestConsumerTarget.java
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/security/TrustStoreMessageSourceTest.java
Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/consumer/AbstractConsumerTarget.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/consumer/AbstractConsumerTarget.java?rev=1770019&r1=1770018&r2=1770019&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/consumer/AbstractConsumerTarget.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/consumer/AbstractConsumerTarget.java Wed Nov 16 17:15:17 2016
@@ -244,16 +244,16 @@ public abstract class AbstractConsumerTa
if (messageContainer != null)
{
- MessageInstance entry = messageContainer._messageInstance;
+ MessageInstance entry = messageContainer.getMessageInstance();
try
{
send(consumer, entry, false);
}
finally
{
- if (messageContainer._messageReference != null)
+ if (messageContainer.getMessageReference() != null)
{
- messageContainer._messageReference.release();
+ messageContainer.getMessageReference().release();
}
}
return true;
Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java?rev=1770019&r1=1770018&r2=1770019&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java Wed Nov 16 17:15:17 2016
@@ -1887,25 +1887,25 @@ public abstract class AbstractQueue<X ex
if (!consumer.isSuspended())
{
messageContainer = attemptDelivery(consumer);
- if(messageContainer != null)
+ if(messageContainer.getMessageInstance() != null)
{
- if(consumerHasAvailableMessages(consumer))
- {
- _queueConsumerManager.setNotified(consumer, true);
- }
+ _queueConsumerManager.setNotified(consumer, true);
}
-
- if (messageContainer == null && getNextAvailableEntry(consumer) == null)
+ else
{
- queueEmpty = true;
- }
+ if (messageContainer.hasNoAvailableMessages())
+ {
+ queueEmpty = true;
+ }
- if(messageContainer == null && consumer.acquires())
- {
- if(hasAvailableMessages())
+ if (consumer.acquires())
{
- notifyOtherConsumers(consumer);
+ if (hasAvailableMessages())
+ {
+ notifyOtherConsumers(consumer);
+ }
}
+ messageContainer = null;
}
}
else
@@ -1932,19 +1932,44 @@ public abstract class AbstractQueue<X ex
return _queueStatistics.getAvailableCount() != 0;
}
- public static class MessageContainer
+ public static final class MessageContainer
{
- public final MessageInstance _messageInstance;
- public final MessageReference<?> _messageReference;
+ private final MessageInstance _messageInstance;
+ private final MessageReference<?> _messageReference;
+ private final boolean _hasNoAvailableMessages;
+
+ public MessageContainer(final boolean hasNoAvailableMessages)
+ {
+ this(null, null, hasNoAvailableMessages);
+ }
public MessageContainer(final MessageInstance messageInstance,
- final MessageReference<?> messageReference)
+ final MessageReference<?> messageReference, final boolean hasNoAvailableMessages)
{
_messageInstance = messageInstance;
_messageReference = messageReference;
+ _hasNoAvailableMessages = hasNoAvailableMessages;
+ }
+
+ public MessageInstance getMessageInstance()
+ {
+ return _messageInstance;
+ }
+
+ public MessageReference<?> getMessageReference()
+ {
+ return _messageReference;
+ }
+
+ public boolean hasNoAvailableMessages()
+ {
+ return _hasNoAvailableMessages;
}
}
+ private static final MessageContainer NO_MESSAGES = new MessageContainer(true);
+ private static final MessageContainer HAS_MESSAGES = new MessageContainer(false);
+
/**
* Attempt delivery for the given consumer.
*
@@ -1956,7 +1981,7 @@ public abstract class AbstractQueue<X ex
*/
private MessageContainer attemptDelivery(QueueConsumer<?> sub)
{
- MessageContainer messageContainer = null;
+ MessageContainer messageContainer;
// avoid referring old deleted queue entry in sub._queueContext._lastSeen
QueueEntry node = getNextAvailableEntry(sub);
boolean subActive = sub.isActive() && !sub.isSuspended();
@@ -1969,6 +1994,7 @@ public abstract class AbstractQueue<X ex
throw new ConnectionScopedRuntimeException("Delivery halted owing to " +
"virtualhost state " + _virtualHost.getState());
}
+ messageContainer = HAS_MESSAGES;
if (node.isAvailable())
{
@@ -1990,7 +2016,7 @@ public abstract class AbstractQueue<X ex
else
{
setLastSeenEntry(sub, node);
- messageContainer = new MessageContainer(node, messageReference);
+ messageContainer = new MessageContainer(node, messageReference, false);
}
}
finally
@@ -2008,10 +2034,14 @@ public abstract class AbstractQueue<X ex
}
}
}
+ else
+ {
+ messageContainer = node == null ? NO_MESSAGES : HAS_MESSAGES;
+ }
return messageContainer;
}
- boolean noHigherPriorityWithCredit(final QueueConsumer<?> sub, final QueueEntry queueEntry)
+ private boolean noHigherPriorityWithCredit(final QueueConsumer<?> sub, final QueueEntry queueEntry)
{
Iterator<QueueConsumer<?>> consumerIterator = _queueConsumerManager.getAllIterator();
Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/QueueConsumerImpl.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/QueueConsumerImpl.java?rev=1770019&r1=1770018&r2=1770019&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/QueueConsumerImpl.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/QueueConsumerImpl.java Wed Nov 16 17:15:17 2016
@@ -317,7 +317,7 @@ class QueueConsumerImpl
if (messageContainer != null)
{
_deliveredCount.incrementAndGet();
- _deliveredBytes.addAndGet(messageContainer._messageInstance.getMessage().getSize());
+ _deliveredBytes.addAndGet(messageContainer.getMessageInstance().getMessage().getSize());
}
return messageContainer;
}
Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractSystemMessageSource.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractSystemMessageSource.java?rev=1770019&r1=1770018&r2=1770019&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractSystemMessageSource.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractSystemMessageSource.java Wed Nov 16 17:15:17 2016
@@ -148,7 +148,7 @@ public abstract class AbstractSystemMess
if (!_target.isSuspended() && _target.allocateCredit(propertiesMessageInstance.getMessage()))
{
_queue.remove(0);
- return new AbstractQueue.MessageContainer(propertiesMessageInstance, null);
+ return new AbstractQueue.MessageContainer(propertiesMessageInstance, null, false);
}
}
return null;
Modified: qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/consumer/TestConsumerTarget.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/consumer/TestConsumerTarget.java?rev=1770019&r1=1770018&r2=1770019&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/consumer/TestConsumerTarget.java (original)
+++ qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/consumer/TestConsumerTarget.java Wed Nov 16 17:15:17 2016
@@ -186,7 +186,7 @@ public class TestConsumerTarget implemen
return false;
}
- send(_consumer, messageContainer._messageInstance, false);
+ send(_consumer, messageContainer.getMessageInstance(), false);
return true;
}
Modified: qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/security/TrustStoreMessageSourceTest.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/security/TrustStoreMessageSourceTest.java?rev=1770019&r1=1770018&r2=1770019&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/security/TrustStoreMessageSourceTest.java (original)
+++ qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/security/TrustStoreMessageSourceTest.java Wed Nov 16 17:15:17 2016
@@ -21,7 +21,6 @@ package org.apache.qpid.server.security;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertNotNull;
import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyBoolean;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -36,21 +35,16 @@ import java.util.Collection;
import java.util.EnumSet;
import java.util.List;
-import org.mockito.ArgumentCaptor;
-
import org.apache.qpid.bytebuffer.QpidByteBuffer;
import org.apache.qpid.server.consumer.ConsumerImpl;
import org.apache.qpid.server.consumer.ConsumerTarget;
-import org.apache.qpid.server.message.MessageInstance;
import org.apache.qpid.server.message.ServerMessage;
-import org.apache.qpid.server.model.Consumer;
import org.apache.qpid.server.model.State;
import org.apache.qpid.server.model.TrustStore;
import org.apache.qpid.server.model.VirtualHost;
import org.apache.qpid.server.queue.AbstractQueue;
import org.apache.qpid.server.store.MessageStore;
import org.apache.qpid.server.store.TestMemoryMessageStore;
-import org.apache.qpid.server.virtualhost.AbstractSystemMessageSource;
import org.apache.qpid.test.utils.QpidTestCase;
@@ -85,7 +79,7 @@ public class TrustStoreMessageSourceTest
ConsumerImpl consumer = _trustStoreMessageSource.addConsumer(target, null, ServerMessage.class, getTestName(), options, 0);
final AbstractQueue.MessageContainer messageContainer = consumer.pullMessage();
assertNotNull("Could not pull message of TrustStore", messageContainer);
- final ServerMessage message = messageContainer._messageInstance.getMessage();
+ final ServerMessage message = messageContainer.getMessageInstance().getMessage();
assertCertificates(getCertificatesFromMessage(message));
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org