This is an automated email from the ASF dual-hosted git repository.

clebertsuconic pushed a commit to branch 2.19.x
in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git

commit 56e9dafedd88cdda5697d7d0968d6f80f72c3613
Author: Clebert Suconic <[email protected]>
AuthorDate: Wed Nov 3 21:07:47 2021 -0400

    ARTEMIS-3553 -5718 Conversion of AMQP large message expiry
    
    (cherry picked from commit 6de637259b5cd8356b510bde9227dcd7e22e966c)
---
 .../artemis/protocol/amqp/broker/AMQPLargeMessage.java     |  3 +++
 .../tests/integration/amqp/AmqpExpiredMessageTest.java     | 14 +++++++++++---
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git 
a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/broker/AMQPLargeMessage.java
 
b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/broker/AMQPLargeMessage.java
index 36b03ea..1026eeb 100644
--- 
a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/broker/AMQPLargeMessage.java
+++ 
b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/broker/AMQPLargeMessage.java
@@ -70,6 +70,9 @@ public class AMQPLargeMessage extends AMQPMessage implements 
LargeServerMessage
          reader.readInto(wrapbuffer);
 
          AMQPStandardMessage standardMessage = new 
AMQPStandardMessage(messageFormat, buffer, extraProperties, 
coreMessageObjectPools);
+         if (this.getExpiration() > 0) {
+            standardMessage.reloadExpiration(this.getExpiration());
+         }
          standardMessage.setMessageAnnotations(messageAnnotations);
          standardMessage.setMessageID(messageID);
          return standardMessage.toCore();
diff --git 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AmqpExpiredMessageTest.java
 
b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AmqpExpiredMessageTest.java
index d52ab17..a9c5d5c 100644
--- 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AmqpExpiredMessageTest.java
+++ 
b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AmqpExpiredMessageTest.java
@@ -643,6 +643,17 @@ public class AmqpExpiredMessageTest extends 
AmqpClientTestSupport {
          server.start();
       }
 
+      final Queue serverQueue = server.locateQueue(getQueueName());
+
+      try (LinkedListIterator<MessageReference> referenceIterator = 
serverQueue.iterator()) {
+         while (referenceIterator.hasNext()) {
+            MessageReference ref = referenceIterator.next();
+            Assert.assertEquals(ref.getMessage().getExpiration(), 
ref.getMessage().toCore().getExpiration());
+            Assert.assertTrue(ref.getMessage().getExpiration() > 0);
+            Assert.assertTrue(ref.getMessage().toCore().getExpiration() > 0);
+         }
+      }
+
       final Queue dlqView = getProxyToQueue(getDeadLetterAddress());
 
       Wait.assertEquals(2, dlqView::getMessageCount);
@@ -729,7 +740,4 @@ public class AmqpExpiredMessageTest extends 
AmqpClientTestSupport {
 
    }
 
-
-
-
 }

Reply via email to