mattrpav commented on a change in pull request #729:
URL: https://github.com/apache/activemq/pull/729#discussion_r812019255



##########
File path: 
activemq-client/src/main/java/org/apache/activemq/ActiveMQSession.java
##########
@@ -1956,12 +1978,17 @@ protected void send(ActiveMQMessageProducer producer, 
ActiveMQDestination destin
             //Set the "JMS" header fields on the original message, see 1.1 
spec section 3.4.11
             message.setJMSDeliveryMode(deliveryMode);
             long expiration = 0L;
-            if (!producer.getDisableMessageTimestamp()) {
-                long timeStamp = System.currentTimeMillis();
+            long timeStamp = System.currentTimeMillis();
+            if (timeToLive > 0) {
+                expiration = timeToLive + timeStamp;
+            }
+
+            // TODO: AMQ-8500 - update this when openwire supports 
JMSDeliveryTime
+            message.setJMSDeliveryTime(timeStamp);

Review comment:
       @gemmellr what are your thoughts on returning JMSTimestamp vs zero for 
the v1 use case?
   
   getFromMessageDeliveryTime(Message fromMessage)
   
   1. Check for the existence of the getJMSDeliveryTime method
   2. If so (ie.. v2 message) return value
   3. If not, return the JMSTimestamp value
   
   Earlier we had discussed using JMSTimestamp as the fallback since it is a 
required field. This would align the behavior across ActiveMQ usage. It looks 
like qpid is returning 0 in this case. Is there a specific reason to return 0 
here?
   
   Thanks




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to