You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2016/11/28 11:34:26 UTC

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

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: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org