Repository: qpid-broker-j
Updated Branches:
  refs/heads/master 6837975b7 -> b160fa731


QPID-7872: [Java Broker] [AMQP 1.0] Message expiry should be driven from ttl 
header only


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/b160fa73
Tree: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/tree/b160fa73
Diff: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/diff/b160fa73

Branch: refs/heads/master
Commit: b160fa7318b77e2bcb1d26d699535f3d4c56828e
Parents: 6837975
Author: Alex Rudyy <oru...@apache.org>
Authored: Mon Aug 14 12:10:12 2017 +0100
Committer: Alex Rudyy <oru...@apache.org>
Committed: Mon Aug 14 12:10:12 2017 +0100

----------------------------------------------------------------------
 .../server/protocol/v1_0/MessageMetaData_1_0.java   | 15 ++-------------
 .../PropertyConverter_v1_0_to_InternalTest.java     | 16 ++++++++++++++++
 2 files changed, 18 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/b160fa73/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageMetaData_1_0.java
----------------------------------------------------------------------
diff --git 
a/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageMetaData_1_0.java
 
b/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageMetaData_1_0.java
index b9b93df..1564fb1 100755
--- 
a/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageMetaData_1_0.java
+++ 
b/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageMetaData_1_0.java
@@ -507,19 +507,8 @@ public class MessageMetaData_1_0 implements 
StorableMessageMetaData
         @Override
         public long getExpiration()
         {
-            final Date absoluteExpiryTime =
-                    _propertiesSection == null ? null : 
_propertiesSection.getValue().getAbsoluteExpiryTime();
-            if (absoluteExpiryTime != null)
-            {
-                return absoluteExpiryTime.getTime();
-            }
-            else
-            {
-                final Date creationTime =
-                        _propertiesSection == null ? null : 
_propertiesSection.getValue().getCreationTime();
-                final UnsignedInteger ttl = _headerSection == null ? null : 
_headerSection.getValue().getTtl();
-                return ttl == null || creationTime == null ? 0L : 
ttl.longValue() + creationTime.getTime();
-            }
+            final UnsignedInteger ttl = _headerSection == null ? null : 
_headerSection.getValue().getTtl();
+            return ttl == null ? 0L : ttl.longValue() + getArrivalTime();
         }
 
         @Override

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/b160fa73/broker-plugins/amqp-1-0-protocol/src/test/java/org/apache/qpid/server/protocol/v1_0/PropertyConverter_v1_0_to_InternalTest.java
----------------------------------------------------------------------
diff --git 
a/broker-plugins/amqp-1-0-protocol/src/test/java/org/apache/qpid/server/protocol/v1_0/PropertyConverter_v1_0_to_InternalTest.java
 
b/broker-plugins/amqp-1-0-protocol/src/test/java/org/apache/qpid/server/protocol/v1_0/PropertyConverter_v1_0_to_InternalTest.java
index e8a0634..ed7e5e6 100644
--- 
a/broker-plugins/amqp-1-0-protocol/src/test/java/org/apache/qpid/server/protocol/v1_0/PropertyConverter_v1_0_to_InternalTest.java
+++ 
b/broker-plugins/amqp-1-0-protocol/src/test/java/org/apache/qpid/server/protocol/v1_0/PropertyConverter_v1_0_to_InternalTest.java
@@ -39,6 +39,7 @@ import org.apache.qpid.server.model.NamedAddressSpace;
 import org.apache.qpid.server.protocol.v1_0.type.Binary;
 import org.apache.qpid.server.protocol.v1_0.type.Symbol;
 import org.apache.qpid.server.protocol.v1_0.type.UnsignedByte;
+import org.apache.qpid.server.protocol.v1_0.type.UnsignedInteger;
 import org.apache.qpid.server.protocol.v1_0.type.UnsignedLong;
 import 
org.apache.qpid.server.protocol.v1_0.type.messaging.ApplicationProperties;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.Data;
@@ -113,6 +114,21 @@ public class PropertyConverter_v1_0_to_InternalTest 
extends QpidTestCase
 
         InternalMessage convertedMessage = 
_messageConverter.convert(originalMessage, _addressSpace);
 
+        assertEquals("Unexpected expiration", 0, 
convertedMessage.getMessageHeader().getExpiration());
+    }
+
+    public void testTTLConversion()
+    {
+        long ttl = 10000;
+        long arrivalTime = System.currentTimeMillis();
+        long expiryTime = arrivalTime + ttl;
+        final Header header = new Header();
+        header.setTtl(UnsignedInteger.valueOf(ttl));
+
+        Message_1_0 originalMessage = createTestMessage(header, arrivalTime);
+
+        InternalMessage convertedMessage = 
_messageConverter.convert(originalMessage, _addressSpace);
+
         assertEquals("Unexpected expiration", expiryTime, 
convertedMessage.getMessageHeader().getExpiration());
     }
 


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org
For additional commands, e-mail: commits-h...@qpid.apache.org

Reply via email to