This is an automated email from the ASF dual-hosted git repository. orudyy pushed a commit to branch 7.1.x in repository https://gitbox.apache.org/repos/asf/qpid-broker-j.git
commit 9698710d315620bd496f3ec9f231c02de3c5afdc Author: Robert Godfrey <rgodf...@apache.org> AuthorDate: Wed Nov 20 10:42:41 2019 +0100 QPID-8373 : Add deliveredToConsumerId to MessageInfo (cherry picked from commit 5ef97289cea7b797e0c50fbeb6f2c91361da0b00) --- .../apache/qpid/server/message/MessageInfo.java | 1 + .../qpid/server/message/MessageInfoImpl.java | 10 +++++ .../tests/http/endtoend/message/MessageTest.java | 49 ++++++++++++++++++++-- 3 files changed, 57 insertions(+), 3 deletions(-) diff --git a/broker-core/src/main/java/org/apache/qpid/server/message/MessageInfo.java b/broker-core/src/main/java/org/apache/qpid/server/message/MessageInfo.java index b0e720b..d0fdce5 100644 --- a/broker-core/src/main/java/org/apache/qpid/server/message/MessageInfo.java +++ b/broker-core/src/main/java/org/apache/qpid/server/message/MessageInfo.java @@ -36,6 +36,7 @@ public interface MessageInfo extends ManagedAttributeValue int getDeliveryCount(); String getState(); String getDeliveredTo(); + String getDeliveredToConsumerId(); Date getArrivalTime(); boolean isPersistent(); String getMessageId(); diff --git a/broker-core/src/main/java/org/apache/qpid/server/message/MessageInfoImpl.java b/broker-core/src/main/java/org/apache/qpid/server/message/MessageInfoImpl.java index f495361..252950e 100644 --- a/broker-core/src/main/java/org/apache/qpid/server/message/MessageInfoImpl.java +++ b/broker-core/src/main/java/org/apache/qpid/server/message/MessageInfoImpl.java @@ -25,6 +25,8 @@ import java.util.Date; import java.util.LinkedHashMap; import java.util.Map; +import org.apache.qpid.server.model.Consumer; + public class MessageInfoImpl implements MessageInfo { private final String _deliveredTo; @@ -52,6 +54,7 @@ public class MessageInfoImpl implements MessageInfo private final Date _notValidBefore; private final String _messageType; private final String _groupId; + private final String _deliveredToConsumerId; public MessageInfoImpl(final MessageInstance instance, final boolean includeHeaders) { @@ -60,6 +63,7 @@ public class MessageInfoImpl implements MessageInfo MessageInstanceConsumer<?> acquiringConsumer = instance.getAcquiringConsumer(); _deliveredTo = acquiringConsumer == null ? null : String.valueOf(acquiringConsumer.getIdentifier()); + _deliveredToConsumerId = (acquiringConsumer instanceof Consumer) ? String.valueOf(((Consumer<?,?>)acquiringConsumer).getId()) : null; _arrivalTime = message.getArrivalTime() == 0L ? null : new Date(message.getArrivalTime()); _messageType = message.getMessageType(); _persistent = message.isPersistent(); @@ -150,6 +154,12 @@ public class MessageInfoImpl implements MessageInfo } @Override + public String getDeliveredToConsumerId() + { + return _deliveredToConsumerId; + } + + @Override public Date getArrivalTime() { return _arrivalTime == null ? null : new Date(_arrivalTime.getTime()); diff --git a/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/endtoend/message/MessageTest.java b/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/endtoend/message/MessageTest.java index d1661e6..36afeed 100644 --- a/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/endtoend/message/MessageTest.java +++ b/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/endtoend/message/MessageTest.java @@ -32,8 +32,6 @@ import static org.hamcrest.Matchers.typeCompatibleWith; import static org.junit.Assert.assertThat; import static org.junit.Assume.assumeThat; -import java.io.InputStream; -import java.net.HttpURLConnection; import java.util.ArrayList; import java.util.Collections; import java.util.Enumeration; @@ -57,7 +55,6 @@ import javax.jms.TextMessage; import com.fasterxml.jackson.core.type.TypeReference; import com.google.common.base.Strings; -import com.google.common.io.ByteStreams; import org.junit.Before; import org.junit.Test; @@ -153,6 +150,52 @@ public class MessageTest extends HttpTestBase @Test + public void getAcquiredMessage() throws Exception + { + + Connection connection = getConnection(); + try + { + Session session = connection.createSession(false, Session.CLIENT_ACKNOWLEDGE); + Queue queue = session.createQueue(QUEUE_NAME); + + MessageProducer producer = session.createProducer(queue); + Message jmsMessage = session.createMessage(); + producer.send(jmsMessage); + + List<Map<String, Object>> messages = getHelper().postJson("queue/myqueue/getMessageInfo", + Collections.singletonMap("includeHeaders", + Boolean.FALSE), + LIST_MAP_TYPE_REF, SC_OK); + assertThat(messages.size(), is(equalTo(1))); + Map<String, Object> message = messages.get(0); + + assertThat(message.get("deliveredToConsumerId"), is(nullValue())); + connection.start(); + MessageConsumer consumer = session.createConsumer(queue); + jmsMessage = consumer.receive(5000); + assertThat(jmsMessage, is(notNullValue())); + + messages = getHelper().postJson("queue/myqueue/getMessageInfo", + Collections.singletonMap("includeHeaders", + Boolean.FALSE), + LIST_MAP_TYPE_REF, SC_OK); + assertThat(messages.size(), is(equalTo(1))); + + message = messages.get(0); + + assertThat(message.get("deliveredToConsumerId"), is(notNullValue())); + } + finally + { + connection.close(); + } + + } + + + + @Test public void getJmsMapMessage() throws Exception { final String mapKey = "key"; --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org