You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kw...@apache.org on 2016/12/28 11:34:44 UTC
svn commit: r1776271 - in
/qpid/java/trunk/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp:
ManagementNodeConsumer.java ManagementResponse.java
Author: kwall
Date: Wed Dec 28 11:34:44 2016
New Revision: 1776271
URL: http://svn.apache.org/viewvc?rev=1776271&view=rev
Log:
QPID-6028: [Java Broker] ManagementNodeConsumer must take a message reference whilst it retains responsibility for the message - fixes NPE exposed by r1776037
Modified:
qpid/java/trunk/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNodeConsumer.java
qpid/java/trunk/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementResponse.java
Modified: qpid/java/trunk/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNodeConsumer.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNodeConsumer.java?rev=1776271&r1=1776270&r2=1776271&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNodeConsumer.java (original)
+++ qpid/java/trunk/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNodeConsumer.java Wed Dec 28 11:34:44 2016
@@ -89,7 +89,9 @@ class ManagementNodeConsumer<T extends C
if (!_target.isSuspended() && _target.allocateCredit(managementResponse.getMessage()))
{
_queue.remove(0);
- return new MessageContainer(managementResponse, null, false);
+ return new MessageContainer(managementResponse,
+ managementResponse.getMessageReference(),
+ false);
}
}
return null;
@@ -197,7 +199,7 @@ class ManagementNodeConsumer<T extends C
return _managementNode;
}
- void send(ManagementResponse responseEntry)
+ private void send(ManagementResponse responseEntry)
{
_queue.add(responseEntry);
_target.notifyWork();
Modified: qpid/java/trunk/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementResponse.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementResponse.java?rev=1776271&r1=1776270&r2=1776271&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementResponse.java (original)
+++ qpid/java/trunk/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementResponse.java Wed Dec 28 11:34:44 2016
@@ -24,6 +24,7 @@ import org.apache.qpid.server.filter.Fil
import org.apache.qpid.server.message.InstanceProperties;
import org.apache.qpid.server.message.MessageInstance;
import org.apache.qpid.server.message.MessageInstanceConsumer;
+import org.apache.qpid.server.message.MessageReference;
import org.apache.qpid.server.message.ServerMessage;
import org.apache.qpid.server.message.internal.InternalMessage;
import org.apache.qpid.server.store.MessageEnqueueRecord;
@@ -35,16 +36,19 @@ import org.apache.qpid.server.util.State
class ManagementResponse implements MessageInstance
{
private final ManagementNodeConsumer _consumer;
+ private final MessageReference _messageReference;
private int _deliveryCount;
private boolean _isRedelivered;
private boolean _isDelivered;
private boolean _isDeleted;
private InternalMessage _message;
- ManagementResponse(final ManagementNodeConsumer consumer, final InternalMessage message)
+ ManagementResponse(final ManagementNodeConsumer consumer,
+ final InternalMessage message)
{
_consumer = consumer;
_message = message;
+ _messageReference = _message.newReference(consumer);
}
@Override
@@ -253,4 +257,9 @@ class ManagementResponse implements Mess
{
return _consumer.getManagementNode();
}
+
+ public MessageReference getMessageReference()
+ {
+ return _messageReference;
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org