Author: rgodfrey
Date: Mon Nov 28 11:34:26 2016
New Revision: 1771716

URL: http://svn.apache.org/viewvc?rev=1771716&view=rev
Log:
QPID-7546 : fix early break of messageTtl

Modified:
    
qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageMetaData_1_0.java
    
qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Message_1_0.java

Modified: 
qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageMetaData_1_0.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageMetaData_1_0.java?rev=1771716&r1=1771715&r2=1771716&view=diff
==============================================================================
--- 
qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageMetaData_1_0.java
 (original)
+++ 
qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageMetaData_1_0.java
 Mon Nov 28 11:34:26 2016
@@ -452,13 +452,13 @@ public class MessageMetaData_1_0 impleme
 
         public long getExpiration()
         {
-            if(_properties.getAbsoluteExpiryTime() != null && 
_properties.getCreationTime() != null)
+            if(_properties.getAbsoluteExpiryTime() != null)
             {
-                return _properties.getAbsoluteExpiryTime().getTime() - 
_properties.getCreationTime().getTime();
+                return _properties.getAbsoluteExpiryTime().getTime();
             }
             else
             {
-                return _header.getTtl() == null ? 0L : 
_header.getTtl().longValue();
+                return _header.getTtl() == null || 
_properties.getCreationTime() == null ? 0L : _header.getTtl().longValue() + 
_properties.getCreationTime().getTime();
             }
         }
 

Modified: 
qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Message_1_0.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Message_1_0.java?rev=1771716&r1=1771715&r2=1771716&view=diff
==============================================================================
--- 
qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Message_1_0.java
 (original)
+++ 
qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Message_1_0.java
 Mon Nov 28 11:34:26 2016
@@ -81,7 +81,14 @@ public class Message_1_0 extends Abstrac
 
     public long getExpiration()
     {
-        return getMessageHeader().getExpiration();
+        final MessageMetaData_1_0 metaData = getMessageMetaData();
+        final MessageMetaData_1_0.MessageHeader_1_0 messageHeader = 
metaData.getMessageHeader();
+        long expiration = messageHeader.getExpiration();
+        if(expiration == 0L && metaData.getHeaderSection().getTtl() != null)
+        {
+            expiration = _arrivalTime + 
metaData.getHeaderSection().getTtl().longValue();
+        }
+        return expiration;
     }
 
     public long getArrivalTime()



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to