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 2018/02/15 10:26:17 UTC
[1/2] qpid-broker-j git commit: QPID-8099: [Broker-J] Make
MessageInfo and LogRecord implement ManagedAttributeValue.
Repository: qpid-broker-j
Updated Branches:
refs/heads/master a827841b2 -> 59bd08a31
QPID-8099: [Broker-J] Make MessageInfo and LogRecord implement ManagedAttributeValue.
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/1a28080d
Tree: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/tree/1a28080d
Diff: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/diff/1a28080d
Branch: refs/heads/master
Commit: 1a28080d0872c2ff9c52f3ef915d83e33fbf4de0
Parents: a827841
Author: Keith Wall <kw...@apache.org>
Authored: Thu Feb 15 09:25:50 2018 +0000
Committer: Keith Wall <kw...@apache.org>
Committed: Thu Feb 15 09:25:50 2018 +0000
----------------------------------------------------------------------
.../main/java/org/apache/qpid/server/message/MessageInfo.java | 3 ++-
.../java/org/apache/qpid/server/logging/logback/LogRecord.java | 4 +++-
2 files changed, 5 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/1a28080d/broker-core/src/main/java/org/apache/qpid/server/message/MessageInfo.java
----------------------------------------------------------------------
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 0ad3df0..055ec23 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
@@ -23,10 +23,11 @@ package org.apache.qpid.server.message;
import java.util.Date;
import java.util.Map;
+import org.apache.qpid.server.model.ManagedAttributeValue;
import org.apache.qpid.server.model.ManagedAttributeValueType;
@ManagedAttributeValueType
-public interface MessageInfo
+public interface MessageInfo extends ManagedAttributeValue
{
long getId();
long getSize();
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/1a28080d/broker-plugins/logging-logback/src/main/java/org/apache/qpid/server/logging/logback/LogRecord.java
----------------------------------------------------------------------
diff --git a/broker-plugins/logging-logback/src/main/java/org/apache/qpid/server/logging/logback/LogRecord.java b/broker-plugins/logging-logback/src/main/java/org/apache/qpid/server/logging/logback/LogRecord.java
index 0010a0a..8356c20 100644
--- a/broker-plugins/logging-logback/src/main/java/org/apache/qpid/server/logging/logback/LogRecord.java
+++ b/broker-plugins/logging-logback/src/main/java/org/apache/qpid/server/logging/logback/LogRecord.java
@@ -21,10 +21,12 @@
package org.apache.qpid.server.logging.logback;
import ch.qos.logback.classic.spi.ILoggingEvent;
+
+import org.apache.qpid.server.model.ManagedAttributeValue;
import org.apache.qpid.server.model.ManagedAttributeValueType;
@ManagedAttributeValueType
-public class LogRecord
+public class LogRecord implements ManagedAttributeValue
{
private final ILoggingEvent _event;
private final long _id;
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org
[2/2] qpid-broker-j git commit: QPID-8098: [Broker-J] Add supporting
test case relating to browsing and delivery counts
Posted by kw...@apache.org.
QPID-8098: [Broker-J] Add supporting test case relating to browsing and delivery counts
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/59bd08a3
Tree: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/tree/59bd08a3
Diff: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/diff/59bd08a3
Branch: refs/heads/master
Commit: 59bd08a3103495ae0e8602c3e23b222a02a97bdf
Parents: 1a28080
Author: Keith Wall <kw...@apache.org>
Authored: Thu Feb 15 10:24:22 2018 +0000
Committer: Keith Wall <kw...@apache.org>
Committed: Thu Feb 15 10:25:45 2018 +0000
----------------------------------------------------------------------
.../qpid/systests/AmqpManagementFacade.java | 26 ++++++-
systests/qpid-systests-jms_1.1/pom.xml | 6 ++
.../extensions/maxdelivery/MaxDeliveryTest.java | 73 +++++++++++++++++++-
3 files changed, 102 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/59bd08a3/systests/qpid-systests-jms-core/src/main/java/org/apache/qpid/systests/AmqpManagementFacade.java
----------------------------------------------------------------------
diff --git a/systests/qpid-systests-jms-core/src/main/java/org/apache/qpid/systests/AmqpManagementFacade.java b/systests/qpid-systests-jms-core/src/main/java/org/apache/qpid/systests/AmqpManagementFacade.java
index 7f789c6..647d34a 100644
--- a/systests/qpid-systests-jms-core/src/main/java/org/apache/qpid/systests/AmqpManagementFacade.java
+++ b/systests/qpid-systests-jms-core/src/main/java/org/apache/qpid/systests/AmqpManagementFacade.java
@@ -34,10 +34,12 @@ import javax.jms.JMSException;
import javax.jms.MapMessage;
import javax.jms.Message;
import javax.jms.MessageConsumer;
+import javax.jms.MessageEOFException;
import javax.jms.MessageProducer;
import javax.jms.ObjectMessage;
import javax.jms.Queue;
import javax.jms.Session;
+import javax.jms.StreamMessage;
import javax.jms.TemporaryQueue;
import com.fasterxml.jackson.core.JsonProcessingException;
@@ -264,7 +266,7 @@ public class AmqpManagementFacade
else
{
ObjectMapper objectMapper = new ObjectMapper();
- String jsonifiedValue = null;
+ String jsonifiedValue;
try
{
jsonifiedValue = objectMapper.writeValueAsString(value);
@@ -293,7 +295,27 @@ public class AmqpManagementFacade
{
throw new OperationUnsuccessfulException(response.getStringProperty("statusDescription"), statusCode);
}
- if (response instanceof MapMessage)
+ if (response instanceof StreamMessage)
+ {
+ StreamMessage bodyStream = (StreamMessage) response;
+ List<Object> result = new ArrayList<>();
+ boolean done = false;
+ do
+ {
+ try
+ {
+ result.add(bodyStream.readObject());
+ }
+ catch (MessageEOFException mfe)
+ {
+ // Expected - end of stream
+ done = true;
+ }
+ }
+ while (!done);
+ return result;
+ }
+ else if (response instanceof MapMessage)
{
MapMessage bodyMap = (MapMessage) response;
Map<String, Object> result = new TreeMap<>();
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/59bd08a3/systests/qpid-systests-jms_1.1/pom.xml
----------------------------------------------------------------------
diff --git a/systests/qpid-systests-jms_1.1/pom.xml b/systests/qpid-systests-jms_1.1/pom.xml
index b5c908e..1897cc9 100644
--- a/systests/qpid-systests-jms_1.1/pom.xml
+++ b/systests/qpid-systests-jms_1.1/pom.xml
@@ -65,6 +65,12 @@
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>hamcrest-library</artifactId>
+ <scope>test</scope>
+ </dependency>
+
</dependencies>
<profiles>
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/59bd08a3/systests/qpid-systests-jms_1.1/src/test/java/org/apache/qpid/systests/jms_1_1/extensions/maxdelivery/MaxDeliveryTest.java
----------------------------------------------------------------------
diff --git a/systests/qpid-systests-jms_1.1/src/test/java/org/apache/qpid/systests/jms_1_1/extensions/maxdelivery/MaxDeliveryTest.java b/systests/qpid-systests-jms_1.1/src/test/java/org/apache/qpid/systests/jms_1_1/extensions/maxdelivery/MaxDeliveryTest.java
index 60361b3..63d1d5e 100644
--- a/systests/qpid-systests-jms_1.1/src/test/java/org/apache/qpid/systests/jms_1_1/extensions/maxdelivery/MaxDeliveryTest.java
+++ b/systests/qpid-systests-jms_1.1/src/test/java/org/apache/qpid/systests/jms_1_1/extensions/maxdelivery/MaxDeliveryTest.java
@@ -21,13 +21,20 @@
package org.apache.qpid.systests.jms_1_1.extensions.maxdelivery;
import static org.apache.qpid.systests.Utils.INDEX;
+import static org.hamcrest.CoreMatchers.equalTo;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.Matchers.greaterThan;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
+import static org.junit.Assume.assumeThat;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
@@ -38,6 +45,7 @@ import javax.jms.Connection;
import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.Queue;
+import javax.jms.QueueBrowser;
import javax.jms.Session;
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -50,6 +58,7 @@ import org.apache.qpid.systests.Utils;
public class MaxDeliveryTest extends JmsTestBase
{
private static final int MAX_DELIVERY_ATTEMPTS = 2;
+ private static final String JMSX_DELIVERY_COUNT = "JMSXDeliveryCount";
@Test
public void maximumDelivery() throws Exception
@@ -197,6 +206,40 @@ public class MaxDeliveryTest extends JmsTestBase
}
}
+ @Test
+ public void browsingDoesNotIncrementDeliveryCount() throws Exception
+ {
+ assumeThat(getBrokerAdmin().isManagementSupported(), is(true));
+
+ final String queueName = getTestName();
+ getBrokerAdmin().createQueue(queueName);
+
+ Connection connection = getConnection();
+ try
+ {
+ connection.start();
+ final Session session = connection.createSession(true, Session.SESSION_TRANSACTED);
+ final Queue queue = session.createQueue(queueName);
+
+ Utils.sendMessages(connection, queue, 1);
+
+ final Map<String, Object> messageInfoBefore = getMessageInfo(queueName, 0);
+ assertThat("Unexpected delivery count before browse", messageInfoBefore.get("deliveryCount"), is(equalTo(0)));
+
+ browseQueueAndValidationDeliveryHeaders(session, queue);
+
+ final Map<String, Object> messageInfoAfter = getMessageInfo(queueName, 0);
+ assertThat("Unexpected delivery count after first browse", messageInfoAfter.get("deliveryCount"), is(equalTo(0)));
+
+ browseQueueAndValidationDeliveryHeaders(session, queue);
+
+ }
+ finally
+ {
+ connection.close();
+ }
+ }
+
private void verifyDeadLetterQueueMessages(final Connection connection,
final String dlqName,
final int numberOfEvenMessages) throws Exception
@@ -212,7 +255,7 @@ public class MaxDeliveryTest extends JmsTestBase
for (int i = 0; i < numberOfEvenMessages; i++)
{
Message message = consumer.receive(getReceiveTimeout());
- assertEquals("Unexpected DQL message index", i * 2, message.getIntProperty(INDEX));
+ assertEquals("Unexpected DLQ message index", i * 2, message.getIntProperty(INDEX));
}
}
@@ -234,4 +277,32 @@ public class MaxDeliveryTest extends JmsTestBase
"org.apache.qpid.StandardQueue",
attributes);
}
+
+ private Map<String, Object> getMessageInfo(String queueName, final int index) throws Exception
+ {
+ @SuppressWarnings("unchecked")
+ List<Map<String, Object>> messages = (List<Map<String, Object>>) performOperationUsingAmqpManagement(queueName,
+ "getMessageInfo",
+ "org.apache.qpid.Queue",
+ Collections.emptyMap());
+ assertThat("Too few messsages on the queue", messages.size(), is(greaterThan(index)));
+ return messages.get(index);
+ }
+
+ private void browseQueueAndValidationDeliveryHeaders(final Session session, final Queue queue) throws Exception
+ {
+ final QueueBrowser browser = session.createBrowser(queue);
+ @SuppressWarnings("unchecked")
+ final List<Message> messages = (List<Message>) new ArrayList(Collections.list(browser.getEnumeration()));
+ assertThat("Unexpected number of messages seen by browser", messages.size(), is(equalTo(1)));
+ final Message browsedMessage = messages.get(0);
+ assertThat(browsedMessage.getJMSRedelivered(), is(equalTo(false)));
+
+ if (browsedMessage.propertyExists(JMSX_DELIVERY_COUNT))
+ {
+ assertThat(browsedMessage.getIntProperty(JMSX_DELIVERY_COUNT), is(equalTo(1)));
+
+ }
+ browser.close();
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org